C#のデリゲート・イベント
JSのイベント駆動とほぼ同じ。
delegete宣言して、その型をもつHandlerを作る。
下で言うと、
HandleFoo が、JSでいうイベント名っぽい。(引数と返り値に対する型付き)
利用側では、 そいつにcallbackを加えるみたいなイメージ。
# 宣言側 (SubClass) public delegate void FooHandler(String bar); # これはクラス宣言の外で宣言すべき? public FooHandler HandleFoo = delegate(string bar); # 初期化しておくと安全 # 利用側 (MainClass) SubClass.HandleFoo += ("Hello") => { /* handle event */ }; # ラムダ式でもいいし、定義関数でも可 SubClass.HandleFoo += ("World") => { /* handle event */ }; # 複数callbackを登録できる