|
分類:[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) { }; 割り振らないとエラーになるのはこの辺に原因があったのか・・・
|