次の方法で共有


クラスへのイベントの追加

更新 : 2007 年 11 月

前のレッスンの「詳細情報 : プロパティ、メソッド、イベントについて」では、ユーザーによるボタンのクリックなどの外部イベントにプログラムが応答できることを説明しました。このレッスンでは、クラスに独自のイベントを追加する方法について説明します。

チュートリアル : イベントの宣言と発生

クラスにイベントを追加するには、2 つのステップが必要です。まずイベントを宣言し、次にイベントを発生させる必要があります。イベントを発生させるとは、イベントが起こったことを通知するということです。イベントをクラスに追加するには、Event ステートメントを使用してイベントを宣言します。これは、指定したイベントをオブジェクトが生成できることを示します。たとえば、「現実世界のオブジェクトのモデリング : 初めてのクラスの作成」のレッスンで作成した Persons クラスに AgeCalculated イベントを追加できます。次に、作成した CalcAge メソッドでイベントを発生させます。これにより、このメソッドが呼び出されて特定の人の年齢が計算されたとき、すぐに追加のコードを実行できるようになります。

やってみよう

イベントをクラスに追加するには

  1. 前のレッスンで作成した Persons プロジェクトを開きます。このプロジェクトを保存していない場合は、まず前のレッスンの「クラスへのメソッドの追加」に戻り、手順を完了する必要があります。

  2. ソリューション エクスプローラで Persons.vb をクリックし、[表示] メニューの [コード] をクリックします。

  3. プロパティ プロシージャの上に次のコードを追加します。

    Public Event AgeCalculated(ByVal Age As Single)
    
  4. CalcAge メソッドの既存のコードを、イベントを発生させる次のコードに置き換えます。

    Private Function CalcAge(ByVal year As Integer) As Integer
        Dim Age = My.Computer.Clock.LocalTime.Year - year
        RaiseEvent AgeCalculated(Age)
        CalcAge = My.Computer.Clock.LocalTime.Year - year
    End Function
    
  5. [ファイル] メニューの [すべてを保存] をクリックして、作業を保存します。

次の手順

このレッスンでは、クラスにイベントを追加する方法と、メソッド内でイベントを発生させる方法について説明しました。イベントが発生したときに追加のコードを実行するイベント ハンドラの記述方法については、「詳細情報 : イベントの処理」を参照してください。次のレッスンでは、作成したクラスを使用およびテストする方法について説明します。

次のレッスン : 「クラスのテスト

参照

処理手順

クラスへのプロパティの追加

クラスへのメソッドの追加

その他の技術情報

オブジェクトによるプログラミング : クラスを使用する