C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■86407 / )  空の delegate は null なの?
□投稿者/ 774RR (586回)-(2018/01/26(Fri) 14:18:29)

分類:[C#] 

なんだかすごく納得がいかないのですが、こういうものなのでしょうか?

class test
{
int f(int x, int y) { return x+y; }
delegate int delegate_ifii(int x, int y);
delegate_ifii d;
public test()
{
// メンバ宣言して new してない段階では d は null なのは納得
d = new delegate_ifii(f); // ここで d が作られるのも納得
d -= f; // デバッガ上 d が null となるのが理解不能
// デバッガ上だけでなくて本当に null の様子
if (d == null) System.Diagnostics.Debug.WriteLine("null");
d += f; // null に対して += できるのが理解不能
}
}

そういやオイラ event ハンドラにはいつも「何もしない」ハンドラを割り振ってますな。
public event PnPEventHandler pnpEvent = delegate(object o, EventArgs e) { };
割り振らないとエラーになるのはこの辺に原因があったのか・・・

返信 編集キー/


管理者用

- Child Tree -