Bu durumu, null
başvuru hedefi için başvuruda bulunduğunuz Delegate.CreateDelegate aşırı yükünü kullanarak oluşturabilirsiniz. o sayfada MSDN açıklamalar itibaren
class Foo
{
public void Method()
{
Console.WriteLine(this == null);
}
}
Action<Foo> action = (Action<Foo>)Delegate.CreateDelegate(
typeof(Action<Foo>),
null,
typeof(Foo).GetMethod("Method"));
action(null); //prints True
: firstArgument null başvuru ve bir örnek metot ise, sonuç temsilci tür türündeki imzaları ve bağlı
yöntemini kullanın:
• Yazının imzası, gizli ilk yönteminin parametresini içerirse, temsilci söylenir. açık bir örnek yöntemini temsil etmek. Delege çağrıldığında, argümanı listesindeki ilk argüman, yönteminin gizli örnek parametresine iletilir. yöntem ve tür, uyan imzaları (yani, tip uyumlu olan tüm parametre), daha sonra temsilci null başvuru boyunca kapalı olması söz konusu ise
•. Temsilciyi çağırmak, yöntemini null örneğiyle çağırmak gibidir; bu, için özellikle yararlı bir şey değildir.
Yani bilinen bir şekilde belgelenmiş ve muhtemelen , davranış amaçlar.
Belki bu yöntem bu sınıf tarafından uygulanan bir arabirimden mi geliyor? – pythonian29033
Zaten çöp toplandığı için mi? Muhtemelen kullanımdan sonra olay işleyicinizi kaydetmeyi unutmuşsunuzdur. – Marcel
belki de işleyicinin ait olduğu nesne bertaraf edilmişti, ancak işleyici hala bir yere bazı olaylara eklenmiş durumda mı? – mao47