趣味は車輪の再発明♪

イベントの発行 - [ メッセージング / C# ]


「小さな小さなサンプル&スニペット」
▲インデックスへ戻る▲
カテゴリ:「メッセージング」

イベントを発行する側の記述方法を説明しています。

/// イベントを発行するクラス
public class MyEventSender {

    /// イベントを定義
    public event EventHandler MyEvent = null;

    /// イベントを発行するメソッド
    private void SendMyEvent() {
        if (MyEvent != null) {
            MyEvent(this, new EventArgs());
        }
    }

    public void Foo() {

        ///何かいろいろな処理や条件...

        SendEvent();//イベントを発行する

    }
}		

ここではイベントのデリゲートに標準のEventHandlerを使用している。EventHandlerは以下のような定義。

public delegate void EventHandler(object sender, EventArgs e);

独自のデリゲートを定義してもよいが、拡張性などを考えてもEventHandlerで必要十分といえる。

ハンドラーが登録されていない場合はnull。呼び出す前にチェックが必要。

イベントを発行すると登録されているすべてのハンドラーが呼び出される。

カテゴリ「メッセージング」の他のエントリ:
| イベントの受信 |



RSS Feed Widget
イベントの発行 - [ メッセージング / C# ] 」 (http://bicycle.life.coocan.jp/takamints/index.php/snippets/snippet/messaging/sendevent/cs)
by Koji Takami ( email: vzg03566@gmail.com, GitHub: takamin )