Type.GetEventsとは? わかりやすく解説

Type.GetEvents メソッド ()

現在の Type で宣言または継承されているすべてのパブリック イベントを返します。

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

Public Overridable Function
 GetEvents As EventInfo()
Dim instance As Type
Dim returnValue As EventInfo()

returnValue = instance.GetEvents
public virtual EventInfo[] GetEvents ()
public:
virtual array<EventInfo^>^ GetEvents ()
public EventInfo[] GetEvents ()
public function GetEvents () : EventInfo[]

戻り値
現在の Type で宣言または継承されているすべてのパブリック イベントを表す EventInfo オブジェクトの配列。 または 現在の Type にパブリック イベントがない場合は、EventInfo 型の空の配列。

解説解説

このメソッドは、派生クラスでオーバーライドできます。

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

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

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

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

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

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

使用例使用例

EventInfo オブジェクトの配列を取得し、Button クラスのイベントをすべて取得して、イベント名を表示する例を次に示します。Visual Basic の例をコンパイルするには、次のコマンド ラインを使用します。

vbc type_getevents1.vb /r:System.Windows.Forms.dll /r:System.dll

Imports System
Imports System.Reflection
Imports System.Security
Imports Microsoft.VisualBasic

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

Class EventsSample

    Public Shared Sub Main()
        Try
            ' Creates a bitmask based on BindingFlags.
            Dim myBindingFlags As BindingFlags
 = BindingFlags.Instance Or BindingFlags.Public
            Dim myTypeEvent As Type = GetType(System.Windows.Forms.Button)
            Dim myEventsBindingFlags As EventInfo()
 = myTypeEvent.GetEvents(myBindingFlags)
            Console.WriteLine(ControlChars.Cr + "The events on
 the Button class with the specified BindingFlags are : ")
            Dim index As Integer
            For index = 0 To myEventsBindingFlags.Length
 - 1
                Console.WriteLine(myEventsBindingFlags(index).ToString())
            Next index
        Catch e As SecurityException
            Console.WriteLine(("SecurityException :"
 + e.Message))
        Catch e As ArgumentNullException
            Console.WriteLine(("ArgumentNullException : "
 + e.Message))
        Catch e As Exception
            Console.WriteLine(("Exception : " + e.Message))
        End Try
    End Sub 'Main
End Class 'EventsSample
using System;
using System.Reflection;
using System.Security;

class EventsSample
{
    public static void Main()
    { 
        try
        {
            // Creates a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance | BindingFlags.Public;
  
            Type myTypeEvent = typeof(System.Windows.Forms.Button);
            EventInfo[] myEventsBindingFlags = myTypeEvent.GetEvents(myBindingFlags);
            Console.WriteLine("\nThe events on the Button class
 with the specified BindingFlags are : ");
            for (int index = 0; index <
 myEventsBindingFlags.Length; index++)
            {
                Console.WriteLine(myEventsBindingFlags[index].ToString());
            }
        }
        catch(SecurityException e)
        {
            Console.WriteLine("SecurityException :" + e.Message);
        }
        catch(ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException : " + e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception : " + 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;

int main()
{
   try
   {
      Type^ myType = System::Windows::Forms::Button::typeid;
      array<EventInfo^>^myEvents = myType->GetEvents();
      Console::WriteLine( "The events on the Button class
 are: " );
      for ( int index = 0; index < myEvents->Length;
 index++ )
      {
         Console::WriteLine( myEvents[ index ] );

      }
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "SecurityException: {0}", e->Message );
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException: {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception: {0}", e->Message );
   }
}
import System.*;
import System.Reflection.*;
import System.Security.*;

class EventsSample
{
    public static void main(String[]
 args)
    {
        try {
            // Creates a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance
                | BindingFlags.Public;
            Type myTypeEvent = System.Windows.Forms.Button.class.ToType();
            EventInfo myEventsBindingFlags[] =
                myTypeEvent.GetEvents(myBindingFlags);
            Console.WriteLine("\nThe events on the Button class
 with the "
                + "specified BindingFlags are : ");
            for (int index = 0; index <
 myEventsBindingFlags.length; index++) {
                Console.WriteLine(myEventsBindingFlags.get_Item(index).
                    ToString());
            }
        }
        catch (SecurityException e) {
            Console.WriteLine("SecurityException :" + e.get_Message());
        }
        catch (ArgumentNullException e) {
            Console.WriteLine("ArgumentNullException : " + e.get_Message());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception : " + e.get_Message());
        }
    } //main
} //EventsSample
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Type.GetEvents メソッド (BindingFlags)

派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type で宣言または継承されているイベントを検索します。

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

Public MustOverride Function
 GetEvents ( _
    bindingAttr As BindingFlags _
) As EventInfo()
Dim instance As Type
Dim bindingAttr As BindingFlags
Dim returnValue As EventInfo()

returnValue = instance.GetEvents(bindingAttr)
public abstract EventInfo[] GetEvents (
    BindingFlags bindingAttr
)
public:
virtual array<EventInfo^>^ GetEvents (
    BindingFlags bindingAttr
) abstract
public abstract EventInfo[] GetEvents (
    BindingFlags bindingAttr
)
public abstract function GetEvents (
    bindingAttr : BindingFlags
) : EventInfo[]

パラメータ

bindingAttr

検索の実行方法を指定する 1 つ以上の BindingFlags から成るビット マスク。

または

null 参照 (Visual Basic では Nothing) を返す 0。

戻り値
現在の Type で宣言または継承されているイベントのうち、指定したバインディング制約に一致するすべてのイベントを表す EventInfo オブジェクトの配列。 または 現在の Type にイベントが存在しないか、またはイベントの中にバインディング制約に一致するものがない場合は、EventInfo 型の空の配列。

解説解説

次の BindingFlags フィルタ フラグは、検索対象に含めるイベントを定義するために使用できます。

次の BindingFlags 修飾フラグは、検索方法を変更するために使用できます。

詳細については、「System.Reflection.BindingFlags」を参照してください。

要求された型がパブリックではなく、呼び出し元に現在のアセンブリ外の非パブリック オブジェクトをリフレクションするための ReflectionPermission がない場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。

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

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

使用例使用例

指定したバインディング フラグに一致する EventInfo オブジェクトの配列を取得し、Button クラスのイベントをすべて取得して、イベント名を表示する例を次に示します。Visual Basic の例をコンパイルするには、次のコマンド ラインを使用します。

vbc type_getevents2.vb /r:System.Windows.Forms.dll /r:System.dll

Imports System
Imports System.Reflection
Imports System.Security
Imports System.Windows.Forms
Imports Microsoft.VisualBasic

Class EventsSample

    Public Shared Sub Main()
        Try
            ' Create a bitmask based on BindingFlags.
            Dim myBindingFlags As BindingFlags
 = BindingFlags.Instance Or BindingFlags.Public
            Dim myTypeEvent As Type = GetType(System.Windows.Forms.Button)
            Dim myEventsBindingFlags As EventInfo()
 = myTypeEvent.GetEvents(myBindingFlags)
            Console.WriteLine(ControlChars.Cr + "The events on
 the Button class with the specified BindingFlags are:")
            Dim index As Integer
            For index = 0 To myEventsBindingFlags.Length
 - 1
                Console.WriteLine(myEventsBindingFlags(index).ToString())
            Next index
        Catch e As SecurityException
            Console.WriteLine("SecurityException:"
 + e.Message)
        Catch e As ArgumentNullException
            Console.WriteLine("ArgumentNullException: "
 + e.Message)
        Catch e As Exception
            Console.WriteLine("Exception: " + e.Message)
        End Try
    End Sub 'Main
End Class 'EventsSample
using System;
using System.Reflection;
using System.Security;

class EventsSample
{
    public static void Main()
    { 
        try
        {
            // Create a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance | BindingFlags.Public;
  
            Type myTypeEvent = typeof(System.Windows.Forms.Button);
            EventInfo[] myEventsBindingFlags = myTypeEvent.GetEvents(myBindingFlags);
            Console.WriteLine("\nThe events on the Button class
 with the specified BindingFlags are:");
            for (int index = 0; index <
 myEventsBindingFlags.Length; index++)
            {
                Console.WriteLine(myEventsBindingFlags[index].ToString());
            }
        }
        catch(SecurityException e)
        {
            Console.WriteLine("SecurityException:" + e.Message);
        }
        catch(ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException: " + e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception: " + 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;

int main()
{
   try
   {
      
      // Create a bitmask based on BindingFlags.
      BindingFlags myBindingFlags = static_cast<BindingFlags>(BindingFlags::Instance
 | BindingFlags::Public);
      Type^ myTypeEvent = System::Windows::Forms::Button::typeid;
      array<EventInfo^>^myEventsBindingFlags = myTypeEvent->GetEvents( myBindingFlags
 );
      Console::WriteLine( "\nThe events on the Button class
 with the specified BindingFlags are:" );
      for ( int index = 0; index < myEventsBindingFlags->Length;
 index++ )
      {
         Console::WriteLine( myEventsBindingFlags[ index ] );

      }
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "SecurityException: {0}", e->Message );
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException: {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception: {0}", e->Message );
   }
}
import System.*;
import System.Reflection.*;
import System.Security.*;

class EventsSample
{
    public static void main(String[]
 args)
    {
        try {
            // Create a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance
                | BindingFlags.Public;
            Type myTypeEvent = System.Windows.Forms.Button.class.ToType();
            EventInfo myEventsBindingFlags[] =
                myTypeEvent.GetEvents(myBindingFlags);
            Console.WriteLine("\nThe events on the Button class
 with the "
                + "specified BindingFlags are:");
            for (int index = 0; index <
 myEventsBindingFlags.length; index++) {
                Console.WriteLine(myEventsBindingFlags.get_Item(index).ToString());
            }
        }
        catch (SecurityException e) {
            Console.WriteLine("SecurityException:" + e.get_Message());
        }
        catch (ArgumentNullException e) {
            Console.WriteLine("ArgumentNullException: " + e.get_Message());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception: " + e.get_Message());
        }
    } //main
} //EventsSample
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Type クラス
Type メンバ
System 名前空間
EventInfo
BindingFlags
DefaultBinder
ReflectionPermission
GetEvent

Type.GetEvents メソッド


_Type.GetEvents メソッド




英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「Type.GetEvents」の関連用語

Type.GetEventsのお隣キーワード
検索ランキング

   

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



Type.GetEventsのページの著作権

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

©2026 GRAS Group, Inc.RSS