1 つのクラスの 1 つのメソッドのみをデリゲートに登録する場合はdelegate.Target
、. このデリゲートの購読者リストにアクセスする別の方法はありますか?
コードは次のとおりです。foreachループは実行時にnullに評価されています(コンパイルされます)
public delegate void WriteMessage(string msg);
internal class Program
{
private static void Main(string[] args)
{
var myClass = new MyClass();
var writer = new WriteMessage(myClass.WriteMessage);
writer += SaySomething; //method in this class
writer += myClass.SayShit; //instance class
writer += AnotherClass.Say; //static class
foreach(string target in (string[])writer.Target)
{
Console.WriteLine(target);
}
Console.ReadLine();
}
private static void SaySomething(string msg)
{
Console.WriteLine("HI!!!!");
}
}
完全なコード: http://pastebin.com/AzzRGMY9