: Ben kodu ile baktığınızda Şimdigöremiyorum
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++;
}
}
gayet
[CompilerGenerated]
private sealed class <>c__DisplayClass1
{
// Fields
public int counter;
// Methods
public int <Increase>b__0()
{
return this.counter++;
}
}
ve ben o benim kapatılmasını işlemek için yapması gereken farkındayım: reflektör Ben derleyici böyle benim kapatılması için bir sınıf oluşturduğu görüyoruz. Ancak, göremediğim şey bu sınıfı nasıl kullandığıdır. Demek istediğim, "<> c__DisplayClass1" yi örnekleyen bir kodu bulabilmem gerekir, yanlış mıyım? Ben artış yöntemine tıklarsanız
DÜZENLEME
öyle gibi gözüküyor:
private static Func<int> Increase()
{
int counter = 0;
return delegate {
return counter++;
};
}
Derlenmiş kodun geri kalanını gönderebilir misiniz? Özellikle ana yönteminiz. – dowhilefor
@dowhilefor: Ana yöntem aslında oldukça sıkıcı olurdu. Bir temsilci almak, delegeyi birkaç kez çağırmak ve sonuçları yazdırmak, ardından da Console.ReadLine işlevini çağırmak için bir yöntem çağırıyor. –