EventInfo Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 |
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 |
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 |
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 |
RemoveMethod |
Ruft das |
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 |
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 |
GetOtherMethods(Boolean) |
Gibt die Methoden zurück, die dem Ereignis in den Metadaten mit der |
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 |
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 |
_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 |
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.