タグ

2008年10月29日のブックマーク (3件)

  • デリゲート

    概要 デリゲート(delegate: 代表、委譲、委託)とは、メソッドを参照するための型です。 C言語やC++言語の勉強をしたことがある人には、 「デリゲートとは関数ポインターや関数オブジェクトをオブジェクト指向に適するように拡張したもの」 と言った方が分かりやすいかもしれません。 デリゲートは用途も関数ポインターとほとんど同じで、 述語やイベントハンドラ(「イベント」で説明)等に利用します。 ただし、C言語の関数ポインターと違い、 インスタンスメソッドを参照したり、 複数のメソッドを同時に参照する事が出来ます。 delegate(委譲)という言葉のニュアンスとしては、 「他のメソッドに処理を丸投げするためのオブジェクト」というような意味です。 イベントが起きたときのイベントハンドリングをどのメソッドに丸投げ(委託)するかを指示するためなどに使われます。 ポイント C# では、メソッドも他

    デリゲート
    dmp939
    dmp939 2008/10/29
    イベントのからみからこれも範囲
  • foreach

    ここでは詳細には触れませんが、 当サイト上にある「C++ STL」や「アルゴリズムとデータ構造」でもコレクションについて簡単な説明がありますので、興味のある方はそちらをご覧ください。 また、コレクションについてより詳しく知りたい方は検索エンジンで「データ構造 アルゴリズム」などをキーワードにして検索してみてください。 ここでは例として連結リストを示します。 あくまで例として示すだけなので、単純な実装方法を取っています。 (来はもう少しちゃんとした実装の仕方をしないとだめ。) using System; using System.IO; /// <summary> /// リストのノード /// </summary> class Node { public int elem; public Node next; public Node() : this(0, null){} public

    foreach
    dmp939
    dmp939 2008/10/29
    担当範囲
  • イベント - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

    概要 C# には、イベント駆動型のプログラム作成を容易にするため、 イベント処理用の構文 event が用意されています。 event は、デリゲートに対する「プロパティ」のようなもので、 以下のような特徴を持っています。 デリゲート呼び出しはクラス内部からのみ可能。 外部からはデリゲートの追加/削除のみが可能。 サンプル https://github.com/ufcpp/UfcppSample/tree/master/Chapters/Event/EventDriven ポイント イベント: プロパティのデリゲート版。イベント駆動処理に使われるのでこの名前になっています。 イベント駆動処理には、単なるデリゲート型のプロパティでは機能が不十分で、 「呼び出しはクラス内からのみ、外部からできるのは登録・削除のみ」という制約が必要になります。 C# には、この制約を満たすような専用の構文(ev

    イベント - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
    dmp939
    dmp939 2008/10/29
    担当範囲