EventInfo Třída

Definice

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
EventInfo
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 EventInfo třídy.

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

Type Získá objekt podkladového delegáta obslužné rutiny události přidružené k této události.

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 EventInfo má název se zvláštním významem.

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 MemberInfo.

(Zděděno od MemberInfo)
RemoveMethod

MethodInfo Získá objekt pro odebrání metody události, včetně neveřejných metod.

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 MethodInfo objekt pro AddEventHandler(Object, Delegate) metodu události a určuje, zda se mají vrátit neveřejné metody.

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 .other .

GetOtherMethods(Boolean)

Vrátí metody přidružené k události v metadatech pomocí .other direktivy určující, zda se mají zahrnout neveřejné metody.

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 MethodInfo objekt pro odebrání metody události a určuje, zda se mají vrátit neveřejné metody.

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()

T:System.Type Vrátí objekt představující EventInfo typ.

_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 attributeType definována jedna nebo více instancí.

(Zděděno od MemberInfo)

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.