Teilen über


EventInfo Klasse

Definition

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

public ref class EventInfo abstract : System::Reflection::MemberInfo
public ref class EventInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_EventInfo
public abstract class EventInfo : System.Reflection.MemberInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public abstract class EventInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._EventInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class EventInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._EventInfo
type EventInfo = class
    inherit MemberInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type EventInfo = class
    inherit MemberInfo
    interface _EventInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type EventInfo = class
    inherit MemberInfo
    interface _EventInfo
Public MustInherit Class EventInfo
Inherits MemberInfo
Public MustInherit Class EventInfo
Inherits MemberInfo
Implements _EventInfo
Vererbung
EventInfo
Abgeleitet
Attribute
Implementiert

Beispiele

Der folgende Code ruft ein EventInfo -Objekt für das Click -Ereignis der Button -Klasse ab.

#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 );
   }
}
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);
        }
    }
}
Imports System.Reflection
Imports System.Security

' 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 myEventBindingFlags IsNot 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
End Class

Hinweise

Verwenden Sie die EventInfo -Klasse, um Ereignisse zu untersuchen und Ereignishandler zu integrieren, wie im Beispielcode für die AddEventHandler -Methode gezeigt.

Hinweis

EventInfo ist nicht für das Auslösen von Ereignissen vorgesehen. Ein -Objekt löst Ereignisse aus, wie durch seinen internen Zustand vorgegeben.

Ereignisse werden mit Delegaten verwendet. Ein Ereignislistener instanziiert einen Ereignishandlerdelegat, der aufgerufen wird, wenn das Ereignis von einer Ereignisquelle ausgelöst wird. Um eine Verbindung mit der Ereignisquelle herzustellen, fügt der Ereignislistener diesen Delegat der Aufrufliste in der Quelle hinzu. Wenn das Ereignis ausgelöst wird, wird die invoke-Methode des Ereignishandlerdelegaten aufgerufen. Sowohl Multicast- als auch Single-Cast-Ereignisbenachrichtigungen werden unterstützt. Die Add Methoden und Remove sowie die einem Ereignis zugeordnete Ereignishandlerdelegatklasse müssen in den Metadaten markiert werden.

Delegaten sind objektorientierte Funktionszeiger. In C oder C++ ist ein Funktionszeiger ein Verweis auf eine Methode. Im Gegensatz zum C- oder C++-Funktionszeiger enthält ein Delegat zwei Verweise: einen Verweis auf eine Methode und einen Verweis auf ein Objekt, das die -Methode unterstützt. Delegaten können eine Methode aufrufen, ohne den Klassentyp zu kennen, der die Methode deklariert oder erbt. Delegaten müssen nur den Rückgabetyp und die Parameterliste der -Methode kennen.

Das Ereignismodell funktioniert gleichermaßen für Single-Cast- und Multicastdelegaten. Wenn die Invoke-Methode des Delegaten aufgerufen wird, verfügt nur ein einzelnes Objekt über eine methode, die aufgerufen wird. Ein Multicastmodifizierer kann auf eine Delegatdeklaration angewendet werden, wodurch mehrere Methoden aufgerufen werden können, wenn die Aufrufmethode des Delegaten aufgerufen wird.

Das Aufrufen ICustomAttributeProvider.GetCustomAttributes von, wenn der inherit Parameter von GetCustomAttributes ist true nicht die Typhierarchie EventInfo durchlaufen. Verwenden Sie System.Attribute , um benutzerdefinierte Attribute zu erben.

Hinweise für Ausführende

Wenn Sie von erben EventInfo, müssen Sie die folgenden Member überschreiben: GetAddMethod(Boolean), GetRemoveMethod(Boolean)und GetRaiseMethod(Boolean).

Konstruktoren

EventInfo()

Initialisiert eine neue Instanz der EventInfo-Klasse.

Eigenschaften

AddMethod

Ruft das MethodInfo-Objekt für die AddEventHandler(Object, Delegate)-Methode des Ereignisses, einschließlich nicht öffentliche Methoden ab.

Attributes

Ruft die Attribute für dieses Ereignis ab.

CustomAttributes

Ruft eine Sammlung ab, die die benutzerdefinierten Attribute dieses Members enthält.

(Geerbt von MemberInfo)
DeclaringType

Ruft die Klasse ab, die diesen Member deklariert.

(Geerbt von MemberInfo)
EventHandlerType

Ruft das Type-Objekt des zugrunde liegenden Ereignishandlerdelegaten ab, der dem jeweiligen Ereignis zugeordnet ist.

IsCollectible

Ruft einen Wert ab, der angibt, ob dieses AssemblyLoadContext-Objekt Teil einer Assembly ist, die sich in einem entladbaren MemberInfo befindet.

(Geerbt von MemberInfo)
IsMulticast

Ruft einen Wert ab, der angibt, ob es sich um ein Multicastereignis handelt.

IsSpecialName

Ruft einen Wert ab, der angibt, ob EventInfo einen Namen mit einer speziellen Bedeutung besitzt.

MemberType

Ruft einen MemberTypes-Wert ab, der angibt, dass dieser Member ein Ereignis ist.

MemberType

Ruft beim Überschreiben in einer abgeleiteten Klasse einen MemberTypes-Wert ab, der den Typ des Members angibt: Methode, Konstruktor, Ereignis usw.

(Geerbt von MemberInfo)
MetadataToken

Ruft einen Wert ab, der ein Metadatenelement identifiziert.

(Geerbt von MemberInfo)
Module

Ruft das Modul ab, in dem der Typ definiert ist, der den von der aktuellen MemberInfo-Klasse dargestellten Member deklariert.

(Geerbt von MemberInfo)
Name

Ruft den Namen des aktuellen Members ab.

(Geerbt von MemberInfo)
RaiseMethod

Ruft die Methode ab, die beim Auslösen des Ereignisses aufgerufen wird, einschließlich nicht-öffentlicher Methoden.

ReflectedType

Ruft das Klassenobjekt ab, mit dem diese Instanz von MemberInfo abgerufen wurde.

(Geerbt von MemberInfo)
RemoveMethod

Ruft das MethodInfo-Objekt zum Entfernen einer Methode des Ereignisses einschließlich nicht öffentlicher Methoden ab.

Methoden

AddEventHandler(Object, Delegate)

Fügt einen Ereignishandler einer Ereignisquelle hinzu.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von MemberInfo)
GetAddMethod()

Gibt die Methode zurück, die zum Hinzufügen eines Ereignishandlerdelegaten zur Ereignisquelle verwendet wird.

GetAddMethod(Boolean)

Ruft beim Überschreiben in einer abgeleiteten Klasse das MethodInfo-Objekt für die AddEventHandler(Object, Delegate)-Methode des Ereignisses ab und gibt an, ob nicht öffentliche Methoden zurückgegeben werden sollen.

GetCustomAttributes(Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array mit allen benutzerdefinierten Attributen zurück, die auf diesen Member angewendet wurden.

(Geerbt von MemberInfo)
GetCustomAttributes(Type, Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array aus benutzerdefinierten Attributen zurück, die auf diesen Member angewendet und von Type identifiziert wurden.

(Geerbt von MemberInfo)
GetCustomAttributesData()

Gibt eine Liste von CustomAttributeData-Objekten zurück, die Daten zu den Attributen darstellen, die auf den Zielmember angewendet wurden.

(Geerbt von MemberInfo)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von MemberInfo)
GetOtherMethods()

Gibt die öffentlichen Methoden zurück, die einem Ereignis in den Metadaten mit der .other-Direktive zugeordnet wurden.

GetOtherMethods(Boolean)

Gibt die Methoden zurück, die dem Ereignis in den Metadaten mit der .other-Direktive zugeordnet wurden und gibt an, ob nicht öffentliche Methoden eingeschlossen werden sollen.

GetRaiseMethod()

Gibt die Methode zurück, die beim Auslösen des Ereignisses aufgerufen wird.

GetRaiseMethod(Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse die Methode zurück, die beim Auslösen des Ereignisses aufgerufen wird, und gibt an, ob nicht öffentliche Methoden zurückgegeben werden sollen.

GetRemoveMethod()

Gibt die Methode zurück, die zum Entfernen eines Ereignishandlerdelegaten aus der Ereignisquelle verwendet wird.

GetRemoveMethod(Boolean)

Ruft beim Überschreiben in einer abgeleiteten Klasse das MethodInfo-Objekt zum Entfernen einer Methode des Ereignisses ab und gibt an, ob nicht öffentliche Methoden zurückgegeben werden sollen.

GetType()

Ermittelt die Attribute eines Klassenereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

GetType()

Ermittelt die Attribute einer Members und ermöglicht den Zugriff auf die Metadaten des Members.

(Geerbt von MemberInfo)
HasSameMetadataDefinitionAs(MemberInfo)

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

(Geerbt von MemberInfo)
IsDefined(Type, Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob ein oder mehrere Attribute des angegebenen Typs oder seiner abgeleiteten Typen auf diesen Member angewendet werden.

(Geerbt von MemberInfo)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RemoveEventHandler(Object, Delegate)

Entfernt einen Ereignishandler aus einer Ereignisquelle.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Operatoren

Equality(EventInfo, EventInfo)

Gibt an, ob zwei EventInfo-Objekte gleich sind.

Inequality(EventInfo, EventInfo)

Gibt an, ob zwei EventInfo-Objekte ungleich sind.

Explizite Schnittstellenimplementierungen

_EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

_EventInfo.GetType()

Gibt ein T:System.Type Objekt zurück, das den EventInfo Typ darstellt.

_EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.

_EventInfo.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

_EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von MemberInfo)
_MemberInfo.GetType()

Ruft ein Type-Objekt ab, das die MemberInfo-Klasse darstellt.

(Geerbt von MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.

(Geerbt von MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Gibt – mit Ausnahme benannter Attribute – ein Array mit allen für diesen Member definierten benutzerdefinierten Attributen zurück – oder ein leeres Array , wenn keine benutzerdefinierten Attribute vorhanden sind.

(Geerbt von MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Gibt ein Array mit für diesen Member definierten benutzerdefinierten Attributen zurück – identifiziert nach Typ – oder ein leeres Array , wenn keine benutzerdefinierten Attribute vorhanden sind.

(Geerbt von MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Gibt an, ob mindestens eine Instanz von attributeType für diesen Member definiert ist.

(Geerbt von MemberInfo)

Erweiterungsmethoden

GetCustomAttribute(MemberInfo, Type)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird.

GetCustomAttribute(MemberInfo, Type, Boolean)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members.

GetCustomAttribute<T>(MemberInfo)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird.

GetCustomAttribute<T>(MemberInfo, Boolean)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members.

GetCustomAttributes(MemberInfo)

Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Member angewendet werden.

GetCustomAttributes(MemberInfo, Boolean)

Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.

GetCustomAttributes(MemberInfo, Type)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden.

GetCustomAttributes(MemberInfo, Type, Boolean)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.

GetCustomAttributes<T>(MemberInfo)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden.

GetCustomAttributes<T>(MemberInfo, Boolean)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.

IsDefined(MemberInfo, Type)

Gibt an, ob irgend welche benutzerdefinierten Attribute eines bestimmten Typs auf eines angegebenen Members angewendet werden.

IsDefined(MemberInfo, Type, Boolean)

Gibt an, ob benutzerdefinierte Attribute eines angegebenen Typs auf einen angegebenen Member und optional auf dessen Vorgänger angewendet werden.

GetAddMethod(EventInfo)

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

GetAddMethod(EventInfo, Boolean)

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

GetRaiseMethod(EventInfo)

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

GetRaiseMethod(EventInfo, Boolean)

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

GetRemoveMethod(EventInfo)

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

GetRemoveMethod(EventInfo, Boolean)

Ermittelt die Attribute eines Ereignisses und ermöglicht den Zugriff auf die Metadaten des Ereignisses.

GetMetadataToken(MemberInfo)

Ruft ein Metadatentoken für das angegebene Element ab, falls verfügbar.

HasMetadataToken(MemberInfo)

Gibt einen Wert zurück, der angibt, ob ein Metadatentoken für das angegebene Element verfügbar ist.

Gilt für:

Threadsicherheit

Dieser Typ ist threadsicher.