2010年4月1日木曜日

delegate

delegateはC#の言語をもっとも特徴付ける者だと思ってる。
#といってもC#以外はJavaぐらいしか知らないけど…それも1.4

というわけでdelegate再入門

//戻値の型 デリゲートの型名 引数の型
delegate void Hoge(string str);

引数の変数名は余分な気がするが、上記のように宣言することで、MultiCastDelegateを継承した独自型が生成される。

image
上記、delegateの宣言をReflectorで見た様子。
BeginInvokeメソッドの引数と、Invokeメソッドの引数および戻値は、delegateの宣言時の型が使用される。

0 件のコメント: