IEnumerable<T>
을 구현하는 클래스가 있다고 가정 해 보겠습니다. 현재 GetEnumerator()
메서드에서 yield
키워드를 사용합니다. 하지만 지금은 조금 더 할 필요가 있습니다. 예를 들어, 나 혼자서 정리하고 싶습니다. 이를 간과하기 전에는 IEnumerator<T>
인터페이스를 구현해야합니다. 하지만 내가 어디에서해야한다고 했니?C# : 사용자 지정 IEnumerator를 구현할 위치 <T>
클래스 자체에서 구현해야하며 GetEnumerator()
은 this
을 반환해야합니까? 아니면 개인 수업에서 그것을 숨기는 것이 더 좋을까요? 아니면 완전히 다른 클래스일까요? 이것에 대한 몇 가지 일반적인 관행은 무엇입니까?
try 블록 안에 양보 할 수 없다고 생각 했습니까? –
@ csharptest.net - 그 후에 finally 블록 만 있으면 가능합니다. 그것은 허용되지 않는 잡기입니다. –
Brilliant. 이것이 가능했다는 것을 전혀 몰랐습니다. 테스트 한 결과, 'yield returns'는 try 블록에 존재할 수 있습니다. * 그러나 * finally 블록에는 존재할 수 없습니다. @Earwicker가 말했듯이,'catch' 블록을 가진'try' 블록에는 존재할 수 없습니다. – Svish