EventInfo Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zjistí atributy události a poskytuje přístup k metadatům událostí.
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
- Dědičnost
- Odvozené
- Atributy
- Implementuje
Příklady
Následující kód získá EventInfo objekt pro Click událost Button třídy.
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
Poznámky
EventInfo Pomocí třídy zkontrolujte události a připojte obslužné rutiny událostí, jak je znázorněno v ukázkovém kódu metodyAddEventHandler.
Note
EventInfo není určen k vyvolání událostí. Objekt vyvolává události podle jeho interního stavu.
Události se používají s delegáty. Naslouchací proces události vytvoří instanci delegáta obslužné rutiny události, který se vyvolá při každém vyvolání události zdrojem události. Aby se mohl připojit ke zdroji událostí, naslouchací proces události přidá tohoto delegáta do seznamu vyvolání ve zdroji. Při vyvolání události je volána metoda vyvolání delegáta obslužné rutiny události. Podporují se oznámení vícesměrového i jednotypového vysílání událostí.
Add Třídy delegáta Remove obslužné rutiny události přidružené k události musí být označené v metadatech.
Delegáti jsou ukazatele na objektově orientované funkce. V jazyce C nebo C++ je ukazatel funkce odkazem na metodu. Na rozdíl od ukazatele funkce C nebo C++ obsahuje delegát dva odkazy: odkaz na metodu a odkaz na objekt, který podporuje metodu. Delegáti mohou vyvolat metodu bez znalosti typu třídy, která deklaruje nebo dědí metodu. Delegáti potřebují znát pouze návratový typ a seznam parametrů metody.
Model událostí funguje stejně dobře pro delegáty s jedním přetypováním a vícesměrovým vysíláním. Když je volána metoda vyvolání delegáta, bude v něm volána pouze jedna metoda. Modifikátor vícesměrového vysílání lze použít u deklarace delegáta, což umožňuje volání více metod při volání metody vyvolání delegáta.
Volání ICustomAttributeProvider.GetCustomAttributes , EventInfo pokud inherit parametr GetCustomAttributes není true procházet hierarchii typů. Slouží System.Attribute k dědění vlastních atributů.
Poznámky pro implementátory
Při dědění z EventInfo, musíte přepsat následující členy: GetAddMethod(Boolean), GetRemoveMethod(Boolean)a GetRaiseMethod(Boolean).
Konstruktory
| Name | Description |
|---|---|
| EventInfo() |
Inicializuje novou instanci |
Vlastnosti
| Name | Description |
|---|---|
| AddMethod |
MethodInfo Získá objekt pro AddEventHandler(Object, Delegate) metodu události, včetně neveřejných metod. |
| Attributes |
Získá atributy pro tuto událost. |
| CustomAttributes |
Získá kolekci, která obsahuje vlastní atributy tohoto člena. (Zděděno od MemberInfo) |
| DeclaringType |
Získá třídu, která deklaruje tohoto člena. (Zděděno od MemberInfo) |
| EventHandlerType |
|
| IsCollectible |
Získá hodnotu, která označuje, zda tento MemberInfo objekt odkazuje na jedno nebo více sestavení uložených v collectible AssemblyLoadContext. (Zděděno od MemberInfo) |
| IsMulticast |
Získá hodnotu určující, zda událost je vícesměrové vysílání. |
| IsSpecialName |
Získá hodnotu určující, zda |
| MemberType |
MemberTypes Získá hodnotu označující, že tento člen je událost. |
| MetadataToken |
Získá hodnotu, která identifikuje prvek metadat. (Zděděno od MemberInfo) |
| Module |
Získá modul, ve kterém typ, který deklaruje člen reprezentovaný proudem MemberInfo je definován. (Zděděno od MemberInfo) |
| Name |
Získá název aktuálního člena. (Zděděno od MemberInfo) |
| RaiseMethod |
Získá metodu, která je volána při vyvolání události, včetně neveřejných metod. |
| ReflectedType |
Získá objekt třídy, který byl použit k získání této instance |
| RemoveMethod |
|
Metody
| Name | Description |
|---|---|
| AddEventHandler(Object, Delegate) |
Přidá obslužnou rutinu události do zdroje události. |
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. |
| GetAddMethod() |
Vrátí metodu použitou k přidání delegáta obslužné rutiny události do zdroje události. |
| GetAddMethod(Boolean) |
Při přepsání v odvozené třídě načte |
| GetCustomAttributes(Boolean) |
Při přepsání v odvozené třídě vrátí pole všech vlastních atributů použitých na tento člen. (Zděděno od MemberInfo) |
| GetCustomAttributes(Type, Boolean) |
Při přepsání v odvozené třídě vrátí pole vlastních atributů použitých na tento člen a identifikovaný .Type (Zděděno od MemberInfo) |
| GetCustomAttributesData() |
Vrátí seznam CustomAttributeData objektů představujících data o atributech, které byly použity na cílového člena. (Zděděno od MemberInfo) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. |
| GetOtherMethods() |
Vrátí veřejné metody přidružené k události v metadatech pomocí direktivy |
| GetOtherMethods(Boolean) |
Vrátí metody přidružené k události v metadatech pomocí |
| GetRaiseMethod() |
Vrátí metodu, která je volána při vyvolání události. |
| GetRaiseMethod(Boolean) |
Při přepsání v odvozené třídě vrátí metodu, která je volána při vyvolání události, určující, zda se mají vrátit neveřejné metody. |
| GetRemoveMethod() |
Vrátí metodu použitou k odebrání delegáta obslužné rutiny události ze zdroje události. |
| GetRemoveMethod(Boolean) |
Při přepsání v odvozené třídě načte |
| GetType() |
Vyhledá atributy události třídy a poskytuje přístup k metadatům událostí. |
| HasSameMetadataDefinitionAs(MemberInfo) |
Zjistí atributy události a poskytuje přístup k metadatům událostí. (Zděděno od MemberInfo) |
| IsDefined(Type, Boolean) |
Při přepsání v odvozené třídě určuje, zda jeden nebo více atributů zadaného typu nebo jeho odvozených typů se použije na tento člen. (Zděděno od MemberInfo) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| RemoveEventHandler(Object, Delegate) |
Odebere obslužnou rutinu události ze zdroje události. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Operátory
| Name | Description |
|---|---|
| Equality(EventInfo, EventInfo) |
Určuje, zda jsou dva EventInfo objekty stejné. |
| Inequality(EventInfo, EventInfo) |
Určuje, zda jsou dva EventInfo objekty nerovny. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| _EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. |
| _EventInfo.GetType() |
|
| _EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. |
| _EventInfo.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). |
| _EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. |
| _MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od MemberInfo) |
| _MemberInfo.GetType() |
Type Získá objekt představující MemberInfo třídu. (Zděděno od MemberInfo) |
| _MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. (Zděděno od MemberInfo) |
| _MemberInfo.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od MemberInfo) |
| _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od MemberInfo) |
| ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Vrátí pole všech vlastních atributů definovaných pro tohoto člena, s výjimkou pojmenovaných atributů, nebo prázdné pole, pokud neexistují žádné vlastní atributy. (Zděděno od MemberInfo) |
| ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Vrátí pole vlastních atributů definovaných pro tento člen, identifikovaný podle typu nebo prázdné pole, pokud neexistují žádné vlastní atributy tohoto typu. (Zděděno od MemberInfo) |
| ICustomAttributeProvider.IsDefined(Type, Boolean) |
Určuje, zda je u tohoto člena |
Metody rozšíření
| Name | Description |
|---|---|
| GetAddMethod(EventInfo, Boolean) |
Zjistí atributy události a poskytuje přístup k metadatům událostí. |
| GetAddMethod(EventInfo) |
Zjistí atributy události a poskytuje přístup k metadatům událostí. |
| GetCustomAttribute(MemberInfo, Type, Boolean) |
Načte vlastní atribut zadaného typu, který se použije u zadaného členu, a volitelně zkontroluje předky daného člena. |
| GetCustomAttribute(MemberInfo, Type) |
Načte vlastní atribut zadaného typu, který se použije na zadaný člen. |
| GetCustomAttribute<T>(MemberInfo, Boolean) |
Načte vlastní atribut zadaného typu, který se použije u zadaného členu, a volitelně zkontroluje předky daného člena. |
| GetCustomAttribute<T>(MemberInfo) |
Načte vlastní atribut zadaného typu, který se použije na zadaný člen. |
| GetCustomAttributes(MemberInfo, Boolean) |
Načte kolekci vlastních atributů, které se použijí na zadaného člena, a volitelně zkontroluje předky daného člena. |
| GetCustomAttributes(MemberInfo, Type, Boolean) |
Načte kolekci vlastních atributů zadaného typu, které se použijí na zadaný člen, a volitelně zkontroluje nadřazené objekty daného člena. |
| GetCustomAttributes(MemberInfo, Type) |
Načte kolekci vlastních atributů zadaného typu, které se použijí na zadaný člen. |
| GetCustomAttributes(MemberInfo) |
Načte kolekci vlastních atributů, které se použijí na zadaný člen. |
| GetCustomAttributes<T>(MemberInfo, Boolean) |
Načte kolekci vlastních atributů zadaného typu, které se použijí na zadaný člen, a volitelně zkontroluje nadřazené objekty daného člena. |
| GetCustomAttributes<T>(MemberInfo) |
Načte kolekci vlastních atributů zadaného typu, které se použijí na zadaný člen. |
| GetMetadataToken(MemberInfo) |
Získá token metadat pro daného člena, pokud je k dispozici. |
| GetRaiseMethod(EventInfo, Boolean) |
Zjistí atributy události a poskytuje přístup k metadatům událostí. |
| GetRaiseMethod(EventInfo) |
Zjistí atributy události a poskytuje přístup k metadatům událostí. |
| GetRemoveMethod(EventInfo, Boolean) |
Zjistí atributy události a poskytuje přístup k metadatům událostí. |
| GetRemoveMethod(EventInfo) |
Zjistí atributy události a poskytuje přístup k metadatům událostí. |
| HasMetadataToken(MemberInfo) |
Vrátí hodnotu, která určuje, zda je token metadat k dispozici pro zadaného člena. |
| IsDefined(MemberInfo, Type, Boolean) |
Určuje, zda se vlastní atributy zadaného typu použijí na zadaný člen a volitelně se použijí na jeho nadřazené objekty. |
| IsDefined(MemberInfo, Type) |
Určuje, zda jsou u zadaného člena použity vlastní atributy zadaného typu. |
Platí pro
Bezpečný přístup z více vláken
Tento typ je bezpečný pro přístup z více vláken.