Type.GetEvents メソッド

現在の Type で宣言または継承されているイベントを取得します。

オーバーロードの一覧

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

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Overridable Function GetEvents() As EventInfo()

[C#] public virtual EventInfo[] GetEvents();

[C++] public: virtual EventInfo* GetEvents() [];

[JScript] public function GetEvents() : EventInfo[];

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

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public MustOverride Function GetEvents(BindingFlags) As EventInfo()

[C#] public abstract EventInfo[] GetEvents(BindingFlags);

[C++] public: virtual EventInfo* GetEvents(BindingFlags) [] = 0;

[JScript] public abstract function GetEvents(BindingFlags) : EventInfo[];

使用例

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

[Visual Basic, C#, C++] vbc type_getevents2.vb /r:System.Windows.Forms.dll /r:System.dll

[Visual Basic, C#, C++] メモ   ここでは、GetEvents のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
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

[C#] 
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);
        }
    }
}

[C++] 
#using <mscorlib.dll>
#using <System.dll>
#using <System.Windows.Forms.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 = __typeof(System::Windows::Forms::Button);
      EventInfo* myEventsBindingFlags[] = myTypeEvent->GetEvents(myBindingFlags);
      Console::WriteLine(S"\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(S"SecurityException: {0}", e->Message);
   } catch (ArgumentNullException* e) {
      Console::WriteLine(S"ArgumentNullException: {0}", e->Message);
   } catch (Exception* e) {
      Console::WriteLine(S"Exception: {0}", e->Message);
   }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

Type クラス | Type メンバ | System 名前空間