エクスポート (0) 印刷
すべて展開
この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。
訳文
原文

Type.GetEvent メソッド (String)

指定したパブリック イベントを表す EventInfo オブジェクトを返します。

名前空間:  System
アセンブリ :  mscorlib (mscorlib.dll 内)

public EventInfo GetEvent(
	string name
)

パラメーター

name
型 : System.String
現在の Type で宣言または継承されているイベントの名前を格納する String

戻り値

型 : System.Reflection.EventInfo
現在の Type で宣言または継承されている指定パブリック イベントが存在する場合は、そのイベントを表す EventInfo オブジェクト。それ以外の場合は null

例外条件
ArgumentNullException

namenull です。

パブリックなメソッドまたはアクセサーが少なくとも 1 つはあるイベントは、リフレクションに対してパブリックであると見なされます。 それ以外の場合、イベントはプライベートと見なされ、BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (Visual Basic では Or を使用して値を組み合わせる) を使用して取得する必要があります。

name の検索では大文字と小文字が区別されます。 検索には、public static および public のインスタンス イベントが含まれます。

型に対するリフレクション時に Get メソッドによって返される基本クラスのメンバーを次の表に示します。

メンバー型

静的

非静的

コンストラクター

いいえ

いいえ

フィールド

いいえ

はい。 フィールドは常に名前と署名によって隠ぺいされます。

イベント

適用なし

共通型システムの規則では、継承は、プロパティを実装するメソッドの継承と同じになります。 リフレクションは、プロパティを名前と署名によって隠ぺいされているとして扱います。 下記のメモ 2 を参照してください。

メソッド

いいえ

はい。 メソッド (仮想メソッドと非仮想メソッドの両方) は、名前によって隠蔽することもできますし、名前と署名によって隠蔽することもできます。

入れ子にされた型

いいえ

いいえ

プロパティ

適用なし

共通型システムの規則では、継承は、プロパティを実装するメソッドの継承と同じになります。 リフレクションは、プロパティを名前と署名によって隠ぺいされているとして扱います。 下記のメモ 2 を参照してください。

メモ :

  1. 名前と署名による隠ぺいでは、カスタム修飾子、戻り値の型、パラメーターの型、sentinel、およびアンマネージ呼び出し規約を含めて、署名のすべての部分が判断の対象となります。 これはバイナリ比較です。

  2. リフレクションの場合、プロパティおよびイベントは名前と署名によって隠ぺいされています。 基本クラスに get アクセサーと set アクセサーの両方を持つプロパティがあり、派生クラスには get アクセサーしかない場合、派生クラスのプロパティにより基本クラスのプロパティが隠ぺいされ、基本クラスの set アクセサーにはアクセスできません。

  3. カスタム属性は、共通型システムの一部ではありません。

現在の Type が構築ジェネリック型を表している場合、このメソッドは、型パラメーターを適切な型の引数で置き換えて EventInfo を返します。

現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメーターを表している場合、このメソッドはクラス制約のイベントを検索します。

次の例では、指定したイベントに対する EventInfo オブジェクトを取得します。

メモメモ :

この例を実行するには、「Demo メソッドと TextBlock コントロールを使用したコード例のビルド」を参照してください。


using System.Reflection;
using System;

class Example
{
    public static void Demo(System.Windows.Controls.TextBlock outputBlock)
    {
        Type myType = outputBlock.GetType();

        EventInfo myEvent = myType.GetEvent("MouseLeftButtonUp");

        if (myEvent != null)
        {
            outputBlock.Text += "Looking for the MouseLeftButtonUp event in the " +
                myType.FullName + " class.\n";
            outputBlock.Text += myEvent.ToString() + "\n";
        }
        else
        {
            outputBlock.Text += "The MouseLeftButtonUp event is not found in the " +
                myType.FullName + " class.\r\n";
        }
    }
}

/* This example produces the following output:

Looking for the MouseLeftButtonUp event in the System.Windows.Controls.TextBlock class.
System.Windows.Input.MouseButtonEventHandler MouseLeftButtonUp
 */


Silverlight

サポート対象 : 5、4、3

Silverlight for Windows Phone

サポート対象 : Windows Phone OS 7.1、Windows Phone OS 7.0

XNA Framework

サポート対象 : Xbox 360、Windows Phone OS 7.0

Silverlight でサポートされるオペレーティング システムの詳細については、「サポートされているオペレーティング システムとブラウザー」を参照してください。

コミュニティの追加

追加
表示:
© 2014 Microsoft