Sdílet prostřednictvím


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

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.

Poznámka

EventInfo není určen k vyvolání událostí. Objekt vyvolává události podle svého interního stavu.

Události se používají s delegáty. Naslouchací proces událostí vytvoří instanci delegáta obslužné rutiny události, který je vyvolán vždy, když je událost vyvolána zdrojem událostí. Aby se mohl připojit ke zdroji událostí, přidá naslouchací proces události tohoto delegáta do seznamu vyvolání ve zdroji. Při vyvolání události je volána metoda invoke delegáta obslužné rutiny události. Podporují se oznámení událostí s vícesměrovým vysíláním i událostí s jedním přetypováním. Metody Add a Remove , stejně jako třída delegáta obslužné rutiny události přidružené k události, musí být označeny v metadatech.

Delegáti jsou objektově orientované ukazatele funkcí. V jazyce C nebo C++ je ukazatel na funkci odkazem na metodu. Na rozdíl od ukazatele funkce jazyka 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 vysíláním a vícesměrovým vysíláním. Při volání metody vyvolání delegáta bude mít metodu volanou pouze u jednoho objektu. Modifikátor vícesměrového vysílání lze použít na deklaraci delegáta, která umožňuje volání více metod při volání metody invoke delegáta.

Volání ICustomAttributeProvider.GetCustomAttributes při EventInfo parametru inheritGetCustomAttributes je true nechodí hierarchií typů. Slouží System.Attribute k dědění vlastních atributů.

Poznámky pro implementátory

Když dědíte z EventInfo, musíte přepsat následující členy: GetAddMethod(Boolean), GetRemoveMethod(Boolean)a GetRaiseMethod(Boolean).

Konstruktory

EventInfo()

Inicializuje novou instanci EventInfo třídy.

Vlastnosti

AddMethod

MethodInfo Získá objekt pro metodu AddEventHandler(Object, Delegate) 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 tento člen.

(Zděděno od MemberInfo)
EventHandlerType

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

IsCollectible

Získá hodnotu, která označuje, zda je tento MemberInfo objekt součástí sestavení uchovávaného v collectible AssemblyLoadContext.

(Zděděno od MemberInfo)
IsMulticast

Získá hodnotu označující, zda je událost vícesměrové vysílání.

IsSpecialName

Získá hodnotu označ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.

MemberType

Při přepsání v odvozené třídě získá MemberTypes hodnotu označující typ člen – metoda, konstruktor, událost atd.

(Zděděno od MemberInfo)
MetadataToken

Získá hodnotu, která identifikuje metadata element.

(Zděděno od MemberInfo)
Module

Získá modul, ve kterém typ, který deklaruje člen reprezentovaný aktuální 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

AddEventHandler(Object, Delegate)

Přidá obslužnou rutinu události do zdroje události.

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od MemberInfo)
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 metodu AddEventHandler(Object, Delegate) události, 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 pro 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 tohoto člena a identifikovaných pomocí 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í hodnotu hash pro tuto instanci.

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od MemberInfo)
GetOtherMethods()

Vrátí veřejné metody, které byly přidruženy k události v metadatech pomocí direktivy .other .

GetOtherMethods(Boolean)

Vrátí metody, které byly přidruženy k události v metadatech pomocí direktivy .other a určuje, zda mají být zahrnuty 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 a určuje, 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álostí.

GetRemoveMethod(Boolean)

Při přepsání v odvozené třídě načte MethodInfo objekt pro odebrání metody události, určuje, zda se mají vrátit neveřejné metody.

GetType()

Zjistí atributy události třídy a poskytuje přístup k metadatům událostí.

GetType()

Zjistí atributy člena a poskytuje přístup k metadatům člena.

(Zděděno od MemberInfo)
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ě označuje, zda jeden nebo více atributů zadaného typu nebo jeho odvozených typů je použit na tohoto člena.

(Zděděno od MemberInfo)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(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

Equality(EventInfo, EventInfo)

Určuje, zda jsou dva EventInfo objekty rovny.

Inequality(EventInfo, EventInfo)

Určuje, zda si dva EventInfo objekty nejsou rovny.

Explicitní implementace rozhraní

_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 v tomto členu, 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 na tomto členu, které jsou identifikovány typem, 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í

GetCustomAttribute(MemberInfo, Type)

Načte vlastní atribut zadaného typu, který je použit na zadaného člena.

GetCustomAttribute(MemberInfo, Type, Boolean)

Načte vlastní atribut zadaného typu, který je použit na zadaného člena, a volitelně zkontroluje předchůdce tohoto člena.

GetCustomAttribute<T>(MemberInfo)

Načte vlastní atribut zadaného typu, který je použit na zadaného člena.

GetCustomAttribute<T>(MemberInfo, Boolean)

Načte vlastní atribut zadaného typu, který je použit na zadaného člena, a volitelně zkontroluje předchůdce tohoto člena.

GetCustomAttributes(MemberInfo)

Načte kolekci vlastních atributů, které jsou použity na zadaného člena.

GetCustomAttributes(MemberInfo, Boolean)

Načte kolekci vlastních atributů, které jsou použity na zadaného člena, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes(MemberInfo, Type)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena.

GetCustomAttributes(MemberInfo, Type, Boolean)

Načte kolekci vlastních atributů zadaného typu, které se použijí na zadaného člena, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes<T>(MemberInfo)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena.

GetCustomAttributes<T>(MemberInfo, Boolean)

Načte kolekci vlastních atributů zadaného typu, které se použijí na zadaného člena, a volitelně zkontroluje předky tohoto člena.

IsDefined(MemberInfo, Type)

Určuje, zda jsou na zadaného člena použity vlastní atributy zadaného typu.

IsDefined(MemberInfo, Type, Boolean)

Určuje, zda se vlastní atributy zadaného typu použijí na zadaného člena a volitelně se použijí na jeho předky.

GetAddMethod(EventInfo)

Zjistí atributy události a poskytuje přístup k metadatům událostí.

GetAddMethod(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í.

GetRaiseMethod(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í.

GetRemoveMethod(EventInfo, Boolean)

Zjistí atributy události a poskytuje přístup k metadatům událostí.

GetMetadataToken(MemberInfo)

Získá token metadat pro daného člena, pokud je k dispozici.

HasMetadataToken(MemberInfo)

Vrátí hodnotu, která označuje, zda je token metadat k dispozici pro zadaného člena.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro přístup z více vláken.