イベント (C# プログラミング ガイド)
クラス やオブジェクトは、何か重要なことが起こった場合に、イベントを使用して他のクラスまたはオブジェクトに通知を送ります。 イベントを送信する ( 発生させる) クラスを パブリッシャー 、イベントを受信する ( 処理する) クラスを サブスクライバーと呼びます。
一般的な C# Windows フォームまたは Web アプリケーションでは、ボタンやリスト ボックスなどのコントロールによって発生したイベントを定期受信します。 Visual C# 統合開発環境 (IDE) を使用して、コントロールによって発行されるイベントを参照し、処理するイベントを選択できます。 IDE は、空のイベント ハンドラー メソッドとイベントを定期受信するためのコードを自動的に追加する方法を提供します。 詳細については、「イベントのサブスクリプションとサブスクリプション解除を行う方法」を参照してください。
イベントの概要
イベントには次のようなプロパティがあります。
パブリッシャーがイベントが発生するタイミングを判断し、サブスクライバーがイベントに対応して実行するアクションを決定します。
イベントには複数のサブスクライバーを指定できます。 サブスクライバーは、複数のパブリッシャーからの複数のイベントを処理できます。
サブスクライバーがないイベントは発生しません。
イベントは一般的に、グラフィカル ユーザー インターフェイスでのボタンのクリックやメニューの選択などのユーザーの操作を知らせるために使用されます。
イベントに複数のサブスクライバーがある場合は、イベントが発生したときに複数のイベント ハンドラーが同時に呼び出されます。 イベントを非同期に呼び出すには、同期メソッドの非同期呼び出しを参照してください。
.NET クラス ライブラリでは、イベントは EventHandler デリゲートおよび EventArgs 基底クラスに基づきます。
関連項目
詳細については次を参照してください:
C# 言語仕様
詳細については、「C# 言語の仕様」の「イベント」を参照してください。 言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。
参考書籍の該当する章
「Delegates, Events, and Lambda Expressions (デリゲート、イベント、およびラムダ式)」(『C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers (C# 3.0 クックブック (第 3 版): C# 3.0 プログラマ向けの 250 以上のソリューション)』)
「Delegates and Events (デリゲートとイベント)」(『Learning C# 3.0: Fundamentals of C# 3.0 (C# 3.0 の学習: C# 3.0 の基礎)』)