: 나는 코드를 볼 때 이제는 볼 수 없습니다
class Program
{
static void Main(string[] args)
{
var increase = Increase();
Console.WriteLine(increase());
Console.WriteLine(increase());
Console.ReadLine();
}
static Func<int> Increase()
{
int counter = 0;
return() => counter++;
}
}
괜찮
[CompilerGenerated]
private sealed class <>c__DisplayClass1
{
// Fields
public int counter;
// Methods
public int <Increase>b__0()
{
return this.counter++;
}
}
을 나는 그가 그 내 마감을 처리하기 위해해야 할 필요가 있음을 알고 있어요 : 반사판 나는 컴파일러가 그런 내 폐쇄 클래스를 생성하는 것을 볼 수 없습니다. 그러나 내가 볼 수없는 것은 그가 실제로이 클래스를 사용하는 방법입니다. 내가 "<> c__DisplayClass1"을 인스턴스화하는 코드를 찾을 수 있어야한다는 뜻인가요? 내가 증가 방법을 클릭하면
편집
는 그 다음과 같습니다
이private static Func<int> Increase()
{
int counter = 0;
return delegate {
return counter++;
};
}
나머지 코드를 게시 할 수 있습니까? 특히 당신의 Main 방법. – dowhilefor
@dowhilefor : Main 메서드는 실제로 꽤 지루합니다. 델리게이트를 몇 번 호출하고 결과를 출력 한 다음 Console.ReadLine을 호출하여 델리게이트를 가져 오는 메소드를 호출하는 것입니다. –