EventInfoとは? わかりやすく解説

EventInfo クラス

イベントの属性を取得し、イベントのメタデータにアクセスできるようにします。

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

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.None)> _
Public MustInherit Class
 EventInfo
    Inherits MemberInfo
    Implements _EventInfo
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.None)] 
public abstract class EventInfo : MemberInfo,
 _EventInfo
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType::None)] 
public ref class EventInfo abstract : public
 MemberInfo, _EventInfo
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.None) */ 
public abstract class EventInfo extends MemberInfo
 implements _EventInfo
SerializableAttribute 
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.None) 
public abstract class EventInfo extends
 MemberInfo implements _EventInfo
解説解説

イベントはデリゲートを通じて使用されます。イベント リスナは、イベント ソースによってイベントが発生したときに必ず呼び出されるイベント ハンドラ デリゲートをインスタンス化します。イベント ソースに接続するために、イベント リスナはこのデリゲートをイベント ソースの呼び出しリストに追加します。イベントが発生すると、イベント ハンドラ デリゲートの invoke メソッドが呼び出されます。マルチキャスト イベントの通知とシングルキャスト イベントの通知の両方がサポートされています。Add メソッドと Remove メソッドは、イベントに関連付けられているイベント ハンドラ デリゲート クラスと同様、メタデータでマークする必要があります。

デリゲートは、オブジェクト指向の関数ポインタです。C または C++ では、関数ポインタはメソッドへの参照です。C または C++ の関数ポインタとは異なり、デリゲートは、メソッドへの参照、メソッドをサポートするオブジェクトへの参照という 2 つの参照を保持します。デリゲートは、メソッドを宣言または継承するクラス型がわからなくても、メソッドを呼び出すことができます。デリゲートに必要な情報は、メソッドの戻り値の型とパラメータ リストだけです。

このイベント モデルは、シングルキャスト デリゲートでもマルチキャスト デリゲートでも同じように機能します。デリゲートの invoke メソッドが呼び出された場合、メソッドの呼び出し対象となるオブジェクトは 1 つだけです。マルチキャスト修飾子をデリゲート宣言に適用すると、そのデリゲートの invoke メソッドが呼び出されたときに複数のメソッドを呼び出せるようになります。

GetCustomAttributes の inherit パラメータが true のときに、EventInfo の ICustomAttributeProvider.GetCustomAttributes を呼び出すと、型階層が検索されません。カスタム属性を継承するには、System.Attribute を使用します。

継承時の注意 EventInfo から継承する場合、GetAddMethod、GetRemoveMethod、GetRaiseMethod の各メンバをオーバーライドする必要があります。

使用例使用例
Imports System
Imports System.Reflection
Imports System.Security
Imports Microsoft.VisualBasic

' Compile this sample using the following command line:
' vbc type_getevent.vb /r:"System.Windows.Forms.dll" /r:"System.dll"

Class MyEventExample
    Public Shared Sub Main()
        Try
            ' Creates a bitmask comprising  BindingFlags.
            Dim myBindingFlags As BindingFlags
 = BindingFlags.Instance Or BindingFlags.Public _
                                                 Or BindingFlags.NonPublic
            Dim myTypeBindingFlags As Type
 = GetType(System.Windows.Forms.Button)
            Dim myEventBindingFlags As EventInfo
 = myTypeBindingFlags.GetEvent("Click", myBindingFlags)
            If Not (myEventBindingFlags Is
 Nothing) Then
                Console.WriteLine("Looking for the Click event
 in the Button class with the specified BindingFlags.")
                Console.WriteLine(myEventBindingFlags.ToString())
            Else
                Console.WriteLine("The Click event is not available
 with the Button class.")
            End If
        Catch e As SecurityException
            Console.WriteLine("An exception occurred.")
            Console.WriteLine("Message :" + e.Message)
        Catch e As ArgumentNullException
            Console.WriteLine("An exception occurred.")
            Console.WriteLine("Message :" + e.Message)
        Catch e As Exception
            Console.WriteLine("The following exception was raised
 : {0}", e.Message)
        End Try
    End Sub 'Main
End Class 'MyEventExample
using System;
using System.Reflection;
using System.Security;

class MyEventExample
{
    public static void Main()
    {  
        try
        {

            // Creates a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance | BindingFlags.Public
 | BindingFlags.NonPublic;
            Type myTypeBindingFlags = typeof(System.Windows.Forms.Button);
            EventInfo myEventBindingFlags = myTypeBindingFlags.GetEvent("Click"
,
 myBindingFlags);
            if(myEventBindingFlags != null)
            {
                Console.WriteLine("Looking for the Click
 event in the Button class with the specified
 BindingFlags.");
                Console.WriteLine(myEventBindingFlags.ToString());
            }
            else
                Console.WriteLine("The Click event is not available with the
 Button class.");
        }
        catch(SecurityException e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message :"+e.Message);
        }
        catch(ArgumentNullException e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message :"+e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("The following exception was raised : {0}"
,e.Message);
        }
    }
}
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>

using namespace System;
using namespace System::Reflection;
using namespace System::Security;
using namespace System::Windows::Forms;

int main()
{
   try
   {
      // Creates a bitmask based on BindingFlags.
      BindingFlags myBindingFlags = static_cast<BindingFlags>(BindingFlags::Instance
 | BindingFlags::Public | BindingFlags::NonPublic);
      Type^ myTypeBindingFlags = System::Windows::Forms::Button::typeid;
      EventInfo^ myEventBindingFlags = myTypeBindingFlags->GetEvent( "Click",
 myBindingFlags );
      if ( myEventBindingFlags != nullptr )
      {
         Console::WriteLine( "Looking for the Click event
 in the Button class with the specified BindingFlags."
 );
         Console::WriteLine( myEventBindingFlags );
      }
      else
            Console::WriteLine( "The Click event is not available with the Button
 class." );
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "An exception occurred." );
      Console::WriteLine( "Message : {0}", e->Message );
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "An exception occurred." );
      Console::WriteLine( "Message : {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The following exception was raised : {0}", e->Message
 );
   }
}
import System.*;
import System.Reflection.*;
import System.Security.*;

class MyEventExample
{
    public static void main(String[]
 args)
    {
        try {
            // Creates a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance
                | BindingFlags.Public | BindingFlags.NonPublic;
            Type myTypeBindingFlags = System.Windows.Forms.Button.class.ToType();
            EventInfo myEventBindingFlags = myTypeBindingFlags.GetEvent("Click"
,
                myBindingFlags);
            if (myEventBindingFlags != null)
 {
                Console.WriteLine("Looking for the Click
 event in the Button"
                    + " class with the specified BindingFlags.");
                Console.WriteLine(myEventBindingFlags.ToString());
            }
            else {
                Console.WriteLine("The Click event is not available with the"
                    + " Button class.");
            }
        }
        catch (SecurityException e) {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message :" + e.get_Message());
        }
        catch (ArgumentNullException e) {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message :" + e.get_Message());
        }
        catch (System.Exception e) {
            Console.WriteLine("The following exception was raised : {0}"
,
                e.get_Message());
        }
    } //main
} //MyEventExample
継承階層継承階層
System.Object
   System.Reflection.MemberInfo
    System.Reflection.EventInfo
スレッド セーフスレッド セーフ

この型は、マルチスレッド操作においてタイプ セーフです。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

EventInfo コンストラクタ


EventInfo プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ DeclaringType  このメンバを宣言するクラスを取得します。 ( MemberInfo から継承されます。)
パブリック プロパティ .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート MetadataToken  メタデータ要素を識別する値を取得します。 ( MemberInfo から継承されます。)
パブリック プロパティ Module  現在の MemberInfo によって表されるメンバを宣言する型が定義されているモジュールを取得します。 ( MemberInfo から継承されます。)
パブリック プロパティ Name  現在のメンバの名前を取得します。 ( MemberInfo から継承されます。)
パブリック プロパティ ReflectedType  MemberInfo のこのインスタンスを取得するために使用したクラス オブジェクトを取得します。 ( MemberInfo から継承されます。)
参照参照

関連項目

EventInfo クラス
System.Reflection 名前空間

EventInfo メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AddEventHandler イベント ハンドラをイベント ソースに追加します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetAddMethod オーバーロードされます。 イベント ハンドラ デリゲートをイベント ソースに追加するために使用するメソッドを返します。
パブリック メソッド GetCustomAttributes  オーバーロードされます。 派生クラスによってオーバーライドされた場合、このメンバに適用されているすべての属性を返します。 ( MemberInfo から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetOtherMethods オーバーロードされます。 .other ディレクティブを使用して MSIL 内のイベントに関連付けられたメソッドを返します。
パブリック メソッド GetRaiseMethod オーバーロードされます。 イベントの発生時に呼び出されるメソッドを返します。
パブリック メソッド GetRemoveMethod オーバーロードされます。 イベント ハンドラ デリゲートをイベント ソースから削除するために使用するメソッドを返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsDefined  派生クラスによってオーバーライドされた場合、このメンバに attributeType のインスタンスが 1 つ以上適用されているかどうかを示します。 ( MemberInfo から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RemoveEventHandler イベント ハンドラをイベント ソースから削除します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetIDsOfNames 一連の名前を対応する一連のディスパッチ識別子に割り当てます。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetType EventInfo 型を表す T:System.Type オブジェクトを返します。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetTypeInfo オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetTypeInfoCount オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.Invoke オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。
参照参照

関連項目

EventInfo クラス
System.Reflection 名前空間

EventInfo メンバ

イベントの属性を取得し、イベントのメタデータにアクセスできるようにします。

EventInfo データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド EventInfo EventInfo クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ DeclaringType  このメンバを宣言するクラスを取得します。(MemberInfo から継承されます。)
パブリック プロパティ .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート MetadataToken  メタデータ要素を識別する値を取得します。(MemberInfo から継承されます。)
パブリック プロパティ Module  現在の MemberInfo によって表されるメンバを宣言する型が定義されているモジュールを取得します。(MemberInfo から継承されます。)
パブリック プロパティ Name  現在のメンバの名前を取得します。(MemberInfo から継承されます。)
パブリック プロパティ ReflectedType  MemberInfo のこのインスタンスを取得するために使用したクラス オブジェクトを取得します。(MemberInfo から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AddEventHandler イベント ハンドラをイベント ソースに追加します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetAddMethod オーバーロードされます。 イベント ハンドラ デリゲートをイベント ソースに追加するために使用するメソッドを返します。
パブリック メソッド GetCustomAttributes  オーバーロードされます。 派生クラスによってオーバーライドされた場合、このメンバに適用されているすべての属性を返します。 (MemberInfo から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetOtherMethods オーバーロードされます。 .other ディレクティブを使用して MSIL 内のイベントに関連付けられたメソッドを返します。
パブリック メソッド GetRaiseMethod オーバーロードされます。 イベントの発生時に呼び出されるメソッドを返します。
パブリック メソッド GetRemoveMethod オーバーロードされます。 イベント ハンドラ デリゲートをイベント ソースから削除するために使用するメソッドを返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsDefined  派生クラスによってオーバーライドされた場合、このメンバに attributeType のインスタンスが 1 つ以上適用されているかどうかを示します。 (MemberInfo から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RemoveEventHandler イベント ハンドラをイベント ソースから削除します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetIDsOfNames 一連の名前を対応する一連のディスパッチ識別子に割り当てます。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetType EventInfo 型を表す T:System.Type オブジェクトを返します。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetTypeInfo オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.GetTypeInfoCount オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。
インターフェイスの明示的な実装 System.Runtime.InteropServices._EventInfo.Invoke オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。
参照参照

関連項目

EventInfo クラス
System.Reflection 名前空間

_EventInfo インターフェイス

メモ : このインターフェイスは、.NET Framework version 2.0 で新しく追加されたものです。

System.Reflection.EventInfo クラスのパブリック メンバをアンマネージ コードに公開します。

 

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

<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
<GuidAttribute("9DE59C64-D889-35A1-B897-587D74469E5B")>
 _
<ComVisibleAttribute(True)> _
<CLSCompliantAttribute(False)> _
Public Interface _EventInfo
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] 
[GuidAttribute("9DE59C64-D889-35A1-B897-587D74469E5B")] 
[ComVisibleAttribute(true)] 
[CLSCompliantAttribute(false)] 
public interface _EventInfo
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)] 
[GuidAttribute(L"9DE59C64-D889-35A1-B897-587D74469E5B")] 
[ComVisibleAttribute(true)] 
[CLSCompliantAttribute(false)] 
public interface class _EventInfo
/** @attribute InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown) */ 
/** @attribute GuidAttribute("9DE59C64-D889-35A1-B897-587D74469E5B") */
 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute CLSCompliantAttribute(false) */ 
public interface _EventInfo
InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown) 
GuidAttribute("9DE59C64-D889-35A1-B897-587D74469E5B") 
ComVisibleAttribute(true) 
CLSCompliantAttribute(false) 
public interface _EventInfo
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
_EventInfo メンバ
System.Runtime.InteropServices 名前空間

_EventInfo プロパティ


_EventInfo メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド AddEventHandler COM オブジェクトに、AddEventHandler メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド Equals COM オブジェクトに、Equals メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetAddMethod オーバーロードされます。 COM オブジェクトに、GetAddMethod メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetCustomAttributes オーバーロードされます。 COM オブジェクトに、GetCustomAttributes メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetHashCode COM オブジェクトに、GetHashCode メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetIDsOfNames 一連の名前を対応する一連のディスパッチ識別子に割り当てます。
パブリック メソッド GetRaiseMethod オーバーロードされます。 COM オブジェクトに、GetRaiseMethod メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetRemoveMethod オーバーロードされます。 COM オブジェクトに、GetRemoveMethod メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetType COM オブジェクトに、GetType メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetTypeInfo オブジェクトの型情報を取得します。インターフェイスの型情報の取得に使用できます。
パブリック メソッド GetTypeInfoCount オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。
パブリック メソッド Invoke オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。
パブリック メソッド IsDefined COM オブジェクトに、IsDefined メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド RemoveEventHandler COM オブジェクトに、RemoveEventHandler メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド ToString COM オブジェクトに、ToString メソッドへのバージョンに依存しないアクセスが用意されています。
参照参照

関連項目

_EventInfo インターフェイス
System.Runtime.InteropServices 名前空間

_EventInfo メンバ

System.Reflection.EventInfo クラスのパブリック メンバをアンマネージ コードに公開します。

_EventInfo データ型で公開されるメンバを以下の表に示します。


パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド AddEventHandler COM オブジェクトに、AddEventHandler メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド Equals COM オブジェクトに、Equals メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetAddMethod オーバーロードされます。 COM オブジェクトに、GetAddMethod メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetCustomAttributes オーバーロードされます。 COM オブジェクトに、GetCustomAttributes メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetHashCode COM オブジェクトに、GetHashCode メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetIDsOfNames 一連の名前を対応する一連のディスパッチ識別子に割り当てます。
パブリック メソッド GetRaiseMethod オーバーロードされます。 COM オブジェクトに、GetRaiseMethod メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetRemoveMethod オーバーロードされます。 COM オブジェクトに、GetRemoveMethod メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetType COM オブジェクトに、GetType メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド GetTypeInfo オブジェクトの型情報を取得します。インターフェイスの型情報の取得に使用できます。
パブリック メソッド GetTypeInfoCount オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。
パブリック メソッド Invoke オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。
パブリック メソッド IsDefined COM オブジェクトに、IsDefined メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド RemoveEventHandler COM オブジェクトに、RemoveEventHandler メソッドへのバージョンに依存しないアクセスが用意されています。
パブリック メソッド ToString COM オブジェクトに、ToString メソッドへのバージョンに依存しないアクセスが用意されています。
参照参照

関連項目

_EventInfo インターフェイス
System.Runtime.InteropServices 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「EventInfo」の関連用語

EventInfoのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



EventInfoのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS