タグ

2011年8月3日のブックマーク (1件)

  • デリゲート(delegate)ってなんだろう? - give IT a try

    C#のデリゲートがよくわからんという同僚さんのために、なんかいいサンプルコードを書きたいと思ったんですが、なかなか難しいですねえ。 分かりやすくて、なおかつ実用的なサンプルが思いつかないです。 おいらの中では「デリゲート = メソッド(処理)をあたかも変数のようにして使いまわせるモノ」みたいな感じの理解です。(かなり適当・・・) たとえば、スクリプト系の言語だと何でも実行時に解決しちゃうんで、デリゲートなんてものが必要ありません。 JavaScript(というかJScript)で書くとこんな感じです。 main(); function main() { var methodContainer = []; methodContainer.push(sayHelloInEnglish); methodContainer.push(sayHelloInJapanese); for (var i

    デリゲート(delegate)ってなんだろう? - give IT a try
    ledsun
    ledsun 2011/08/03
    C#でも関数をdelegateで型定義した変数に格納できる。てか、もともとは関数の型を定義するためのキーワード。予約語を増やさないために匿名メソッドの定義にも流用にしたら混乱が蔓延した。