EventInfo Klasa

Definicja

Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzenia.

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
EventInfo
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, co umożliwia wywoływanie wielu metod podczas wywoływania metody wywołania delegata.

Wywołanie ICustomAttributeProvider.GetCustomAttributes metody , EventInfo gdy parametr parametru inheritGetCustomAttributestrue nie przechodzi przez hierarchię typów. Służy System.Attribute do dziedziczenia atrybutów niestandardowych.

Uwagi dotyczące implementowania

Po dziedziczeniu z EventInfoprogramu należy zastąpić następujące elementy członkowskie: GetAddMethod(Boolean), GetRemoveMethod(Boolean)i GetRaiseMethod(Boolean).

Konstruktory

EventInfo()

Inicjuje nowe wystąpienie klasy EventInfo.

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

Type Pobiera obiekt podstawowego delegata procedury obsługi zdarzeń skojarzonego z tym zdarzeniem.

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 EventInfo nazwa ma specjalne znaczenie.

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

(Odziedziczone po MemberInfo)
RemoveMethod

MethodInfo Pobiera obiekt do usuwania metody zdarzenia, w tym metod innych niż publiczne.

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 MethodInfo obiekt dla AddEventHandler(Object, Delegate) metody zdarzenia, określając, czy zwracać metody inne niż publiczne.

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

GetOtherMethods(Boolean)

Zwraca metody, które zostały skojarzone ze zdarzeniem w metadanych przy użyciu .other dyrektywy, określając, czy należy uwzględnić metody inne niż publiczne.

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 MethodInfo obiekt do usuwania metody zdarzenia, określając, czy zwracać metody inne niż publiczne.

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

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

T:System.Type Zwraca obiekt reprezentujący EventInfo typ.

_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ń attributeType .

(Odziedziczone po MemberInfo)

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

GetAddMethod(EventInfo, Boolean)

Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzenia.

GetRaiseMethod(EventInfo)

Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzenia.

GetRaiseMethod(EventInfo, Boolean)

Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzenia.

GetRemoveMethod(EventInfo)

Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzenia.

GetRemoveMethod(EventInfo, Boolean)

Odnajduje atrybuty zdarzenia i zapewnia dostęp do metadanych zdarzenia.

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.