「C Sharp/デリゲート」の版間の差分

imported>Administrator
ページの作成:「'''デリゲート'''(delegate)とは、C#に搭載されている機能のひとつで、Delphi関数ポインタを若干改良(拡張)...」
 
imported>Administrator
編集の要約なし
 
(同じ利用者による、間の5版が非表示)
1行目: 1行目:
'''デリゲート'''(delegate)とは、[[C Sharp|C#]]に搭載されている機能のひとつで、[[Delphi]]の[[関数ポインタ]]を若干改良(拡張)し、リネームしたものである。
'''デリゲート'''(delegate)とは、[[C Sharp|C#]]に搭載されている機能のひとつで、[[Delphi]]の[[関数ポインタ]]を若干改良(拡張)し、[[リネーム]]した[[データ型]]のひとつである。


なお、[[C Sharp|C#]]の属する[[TurboPascal]]一族の[[関数ポインタ]]と、[[C言語]]一族の[[関数ポインタ]]は別物であり、C言語系[[プログラミング言語]]で育った人はとくに注意すること。[[Delphi]]由来の[[関数ポインタ]]は[[引数]]や[[戻り値]]の[[型チェック]]が超厳密である。
== 注意 ==
[[C Sharp|C#]]の属する[[TurboPascal]]一族の[[関数ポインタ]]と、[[C言語]]一族の[[関数ポインタ]]は別物であり、C言語系[[プログラミング言語]]で育った人はとくに注意すること。
 
[[Delphi]]由来の[[関数ポインタ]]は[[引数]]や[[戻り値]]の[[型チェック]]が超厳密であり、またデリゲート生成時に指定した[[クラス]]の[[インスタンス]]の範囲内にのみ作用する。とくに作用範囲などという概念のない[[C言語]]系から来た[[プログラマー]]が陥りやすい点なので注意すること。


== Delphiの関数ポインタからの改良点 ==
== Delphiの関数ポインタからの改良点 ==
51行目: 54行目:
== 関連項目 ==
== 関連項目 ==
* [[イベント]]
* [[イベント]]
** [[C Sharp/イベント|C#/イベント]]
* [[C Sharp|C#]]
== 参考文献 ==
== 参考文献 ==
<references/>
<references/>