EventInfo Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń.
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
- Dziedziczenie
- Pochodne
- Atrybuty
- Implementuje
Przykłady
Poniższy kod pobiera EventInfo obiekt dla Click zdarzenia Button klasy.
#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
Uwagi
EventInfo Użyj klasy , aby sprawdzić zdarzenia i podłączyć programy obsługi zdarzeń, jak pokazano w przykładowym kodzie AddEventHandler metody .
Uwaga
EventInfo nie jest przeznaczony do zgłaszania zdarzeń. Obiekt zgłasza zdarzenia zgodnie z jego stanem wewnętrznym.
Zdarzenia są używane z delegatami. Odbiornik zdarzeń tworzy wystąpienie delegata programu obsługi zdarzeń wywoływanego za każdym razem, gdy zdarzenie jest wywoływane przez źródło zdarzeń. Aby nawiązać połączenie ze źródłem zdarzeń, odbiornik zdarzeń dodaje ten delegat do listy wywołań w źródle. Po wywołaniu zdarzenia wywoływana jest metoda wywołania delegata procedury obsługi zdarzeń. Obsługiwane są powiadomienia o zdarzeniach multiemisji i pojedynczej rzutu. Metody Add
i Remove
, a także klasa delegata obsługi zdarzeń skojarzona z zdarzeniem, muszą być oznaczone w metadanych.
Delegaty to wskaźniki funkcji zorientowane obiektowo. W języku C lub C++wskaźnik funkcji jest odwołaniem do metody. W przeciwieństwie do wskaźnika funkcji C lub C++ delegat zawiera dwa odwołania: odwołanie do metody i odwołanie do obiektu obsługującego metodę. Delegaci mogą wywołać metodę bez znajomości typu klasy, który deklaruje lub dziedziczy metodę. Delegaci muszą znać tylko typ zwracany i listę parametrów metody.
Model zdarzeń działa równie dobrze dla delegatów pojedynczego rzutu i multiemisji. Po wywołaniu metody wywołania delegata tylko jeden obiekt będzie miał wywołaną metodę. Modyfikator multiemisji można zastosować do deklaracji delegata, która umożliwia wywoływanie wielu metod po wywołaniu metody wywołania delegata.
Wywoływanie ICustomAttributeProvider.GetCustomAttributes , EventInfo
gdy inherit
parametr parametru GetCustomAttributes
nie true
przechodzi przez hierarchię typów. Służy System.Attribute do dziedziczenia atrybutów niestandardowych.
Uwagi dotyczące implementowania
Po dziedziczeniu z EventInfo
programu należy zastąpić następujące elementy członkowskie: GetAddMethod(Boolean), GetRemoveMethod(Boolean)i GetRaiseMethod(Boolean).
Konstruktory
EventInfo() |
Inicjuje nowe wystąpienie klasy |
Właściwości
AddMethod |
MethodInfo Pobiera obiekt dla AddEventHandler(Object, Delegate) metody zdarzenia, w tym metody niepublizowanych. |
Attributes |
Pobiera atrybuty dla tego zdarzenia. |
CustomAttributes |
Pobiera kolekcję zawierającą atrybuty niestandardowe tego elementu członkowskiego. (Odziedziczone po MemberInfo) |
DeclaringType |
Pobiera klasę, która deklaruje ten element członkowski. (Odziedziczone po MemberInfo) |
EventHandlerType |
|
IsCollectible |
Pobiera wartość wskazującą, czy ten MemberInfo obiekt jest częścią zestawu przechowywanego w kolekcji .AssemblyLoadContext (Odziedziczone po MemberInfo) |
IsMulticast |
Pobiera wartość wskazującą, czy zdarzenie jest multiemisji. |
IsSpecialName |
Pobiera wartość wskazującą, czy |
MemberType |
Pobiera wartość wskazującą MemberTypes , że ten element członkowski jest zdarzeniem. |
MemberType |
W przypadku zastąpienia w klasie pochodnej pobiera wartość wskazującą MemberTypes typ elementu członkowskiego — metoda, konstruktor, zdarzenie itd. (Odziedziczone po MemberInfo) |
MetadataToken |
Pobiera wartość identyfikującą element metadanych. (Odziedziczone po MemberInfo) |
Module |
Pobiera moduł, w którym typ, który deklaruje element członkowski reprezentowany przez bieżący MemberInfo , jest zdefiniowany. (Odziedziczone po MemberInfo) |
Name |
Pobiera nazwę bieżącego elementu członkowskiego. (Odziedziczone po MemberInfo) |
RaiseMethod |
Pobiera metodę wywoływaną podczas wywoływanego zdarzenia, w tym metody inne niż publiczne. |
ReflectedType |
Pobiera obiekt klasy, który został użyty do uzyskania tego wystąpienia klasy |
RemoveMethod |
|
Metody
AddEventHandler(Object, Delegate) |
Dodaje procedurę obsługi zdarzeń do źródła zdarzeń. |
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. |
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Odziedziczone po MemberInfo) |
GetAddMethod() |
Zwraca metodę używaną do dodawania delegata procedury obsługi zdarzeń do źródła zdarzeń. |
GetAddMethod(Boolean) |
Po zastąpieniu w klasie pochodnej pobiera |
GetCustomAttributes(Boolean) |
Po zastąpieniu klasy pochodnej zwraca tablicę wszystkich atrybutów niestandardowych zastosowanych do tego elementu członkowskiego. (Odziedziczone po MemberInfo) |
GetCustomAttributes(Type, Boolean) |
Po przesłonięciu w klasie pochodnej zwraca tablicę atrybutów niestandardowych zastosowanych do tego elementu członkowskiego i zidentyfikowaną przez Typemetodę . (Odziedziczone po MemberInfo) |
GetCustomAttributesData() |
Zwraca listę CustomAttributeData obiektów reprezentujących dane dotyczące atrybutów, które zostały zastosowane do elementu członkowskiego docelowego. (Odziedziczone po MemberInfo) |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. (Odziedziczone po MemberInfo) |
GetOtherMethods() |
Zwraca metody publiczne, które zostały skojarzone z zdarzeniem w metadanych przy użyciu |
GetOtherMethods(Boolean) |
Zwraca metody, które zostały skojarzone ze zdarzeniem w metadanych przy użyciu |
GetRaiseMethod() |
Zwraca metodę wywoływaną po wywołaniu zdarzenia. |
GetRaiseMethod(Boolean) |
Po przesłonięciu w klasie pochodnej zwraca metodę wywoływaną po wywołaniu zdarzenia, określając, czy zwracać metody inne niż publiczne. |
GetRemoveMethod() |
Zwraca metodę używaną do usuwania delegata procedury obsługi zdarzeń ze źródła zdarzeń. |
GetRemoveMethod(Boolean) |
Po przesłonięciu w klasie pochodnej pobiera |
GetType() |
Odnajduje atrybuty zdarzenia klasy i zapewnia dostęp do metadanych zdarzeń. |
GetType() |
Odnajduje atrybuty elementu członkowskiego i zapewnia dostęp do metadanych składowych. (Odziedziczone po MemberInfo) |
HasSameMetadataDefinitionAs(MemberInfo) |
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń. (Odziedziczone po MemberInfo) |
IsDefined(Type, Boolean) |
W przypadku zastąpienia w klasie pochodnej wskazuje, czy do tego elementu członkowskiego zastosowano co najmniej jeden atrybut określonego typu, czy jego typów pochodnych. (Odziedziczone po MemberInfo) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
RemoveEventHandler(Object, Delegate) |
Usuwa procedurę obsługi zdarzeń ze źródła zdarzeń. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Operatory
Equality(EventInfo, EventInfo) |
Wskazuje, czy dwa EventInfo obiekty są równe. |
Inequality(EventInfo, EventInfo) |
Wskazuje, czy dwa EventInfo obiekty nie są równe. |
Jawne implementacje interfejsu
_EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. |
_EventInfo.GetType() |
|
_EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu. |
_EventInfo.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). |
_EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. |
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po MemberInfo) |
_MemberInfo.GetType() |
Pobiera obiekt reprezentujący klasę TypeMemberInfo . (Odziedziczone po MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu. (Odziedziczone po MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Zwraca tablicę wszystkich atrybutów niestandardowych zdefiniowanych w tym elemencie członkowskim, z wyłączeniem nazwanych atrybutów lub pustej tablicy, jeśli nie ma atrybutów niestandardowych. (Odziedziczone po MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Zwraca tablicę atrybutów niestandardowych zdefiniowanych na tym elemencie członkowskim, identyfikowaną przez typ lub pustą tablicę, jeśli nie ma atrybutów niestandardowych tego typu. (Odziedziczone po MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Wskazuje, czy na tym elemencie członkowskim zdefiniowano jedno lub więcej wystąpień |
Metody rozszerzania
GetCustomAttribute(MemberInfo, Type) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego, i opcjonalnie sprawdza elementów podrzędnych tego elementu członkowskiego. |
GetCustomAttribute<T>(MemberInfo) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego, i opcjonalnie sprawdza elementów podrzędnych tego elementu członkowskiego. |
GetCustomAttributes(MemberInfo) |
Pobiera kolekcję atrybutów niestandardowych, które są stosowane do określonego elementu członkowskiego. |
GetCustomAttributes(MemberInfo, Boolean) |
Pobiera kolekcję atrybutów niestandardowych, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza elementy charakterystyczne tego elementu członkowskiego. |
GetCustomAttributes(MemberInfo, Type) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza elementów podrzędnych tego elementu członkowskiego. |
GetCustomAttributes<T>(MemberInfo) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza elementów podrzędnych tego elementu członkowskiego. |
IsDefined(MemberInfo, Type) |
Wskazuje, czy atrybuty niestandardowe określonego typu są stosowane do określonego elementu członkowskiego. |
IsDefined(MemberInfo, Type, Boolean) |
Wskazuje, czy atrybuty niestandardowe określonego typu są stosowane do określonego elementu członkowskiego, a opcjonalnie stosowane do jego elementów nadrzędnych. |
GetAddMethod(EventInfo) |
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń. |
GetAddMethod(EventInfo, Boolean) |
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń. |
GetRaiseMethod(EventInfo) |
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń. |
GetRaiseMethod(EventInfo, Boolean) |
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń. |
GetRemoveMethod(EventInfo) |
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń. |
GetRemoveMethod(EventInfo, Boolean) |
Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzeń. |
GetMetadataToken(MemberInfo) |
Pobiera token metadanych dla danego elementu członkowskiego, jeśli jest dostępny. |
HasMetadataToken(MemberInfo) |
Zwraca wartość wskazującą, czy token metadanych jest dostępny dla określonego elementu członkowskiego. |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkowo.