EventInfo Classe

Definizione

Individua gli attributi di un evento e consente di accedere ai relativi metadati.Discovers the attributes of an event and provides access to event metadata.

public ref class EventInfo abstract : 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
    interface _EventInfo
Public MustInherit Class EventInfo
Inherits MemberInfo
Implements _EventInfo
Ereditarietà
EventInfo
Derivato
Attributi
Implementazioni

Esempi

Il codice seguente ottiene un EventInfo oggetto per l' Click evento della Button classe.The following code gets an EventInfo object for the Click event of the Button class.

#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

Commenti

Usare la EventInfo classe per esaminare gli eventi e per associare i gestori eventi, come illustrato nel codice di esempio per il AddEventHandler metodo.Use the EventInfo class to inspect events and to hook up event handlers, as shown in the example code for the AddEventHandler method.

Nota

EventInfonon può essere utilizzato per generare eventi.EventInfo is not intended to be used to raise events. Un oggetto genera eventi come determinato dallo stato interno.An object raises events as dictated by its internal state.

Gli eventi vengono utilizzati con i delegati.Events are used with delegates. Un listener di eventi crea un'istanza di un delegato del gestore eventi che viene richiamato ogni volta che l'evento viene generato da un'origine evento.An event listener instantiates an event-handler delegate that is invoked whenever the event is raised by an event source. Per connettersi all'origine evento, il listener di eventi aggiunge questo delegato all'elenco chiamate nell'origine.In order to connect to the event source, the event listener adds this delegate to the invocation list on the source. Quando viene generato l'evento, viene chiamato il metodo Invoke del delegato del gestore eventi.When the event is raised, the invoke method of the event-handler delegate is called. Sono supportate sia le notifiche degli eventi multicast che quelle con un solo cast.Both multicast and single-cast event notifications are supported. I Add metodi Remove e, nonché la classe delegata del gestore eventi associata a un evento, devono essere contrassegnati nei metadati.The Add and Remove methods, as well as the event-handler delegate class associated with an event, must be marked in the metadata.

I delegati sono puntatori a funzioni orientate a oggetti.Delegates are object-oriented function pointers. In C o C++un puntatore a funzione è un riferimento a un metodo.In C or C++, a function pointer is a reference to a method. A differenza del puntatore a funzione C++ C o, un delegato contiene due riferimenti: un riferimento a un metodo e un riferimento a un oggetto che supporta il metodo.In contrast to the C or C++ function pointer, a delegate contains two references: a reference to a method and a reference to an object that supports the method. I delegati possono richiamare un metodo senza conoscere il tipo di classe che dichiara o eredita il metodo.Delegates can invoke a method without knowing the class type that declares or inherits the method. I delegati devono avere solo il tipo restituito e l'elenco di parametri del metodo.Delegates need only know the return type and parameter list of the method.

Il modello di eventi funziona allo stesso modo per i delegati a cast singolo e multicast.The event model works equally well for single-cast and multicast delegates. Quando viene chiamato il metodo Invoke del delegato, su un solo oggetto verrà chiamato un metodo.When the delegate's invoke method is called, only a single object will have a method called on it. Un modificatore multicast può essere applicato a una dichiarazione di delegato, che consente di chiamare più metodi quando viene chiamato il metodo Invoke del delegato.A multicast modifier can be applied to a delegate declaration, which allows multiple methods to be called when the invoke method of the delegate is called.

La ICustomAttributeProvider.GetCustomAttributes chiamata EventInfo a quando inherit il parametro GetCustomAttributes di ètrue non esegue il percorso della gerarchia dei tipi.Calling ICustomAttributeProvider.GetCustomAttributes on EventInfo when the inherit parameter of GetCustomAttributes is true does not walk the type hierarchy. Usare System.Attribute per ereditare gli attributi personalizzati.Use System.Attribute to inherit custom attributes.

Note per gli implementatori

Quando si eredita da EventInfo, è necessario eseguire l'override dei membri GetAddMethod(Boolean)seguenti GetRemoveMethod(Boolean):, GetRaiseMethod(Boolean)e.When you inherit from EventInfo, you must override the following members: GetAddMethod(Boolean), GetRemoveMethod(Boolean), and GetRaiseMethod(Boolean).

Costruttori

EventInfo()

Inizializza una nuova istanza della classe EventInfo.Initializes a new instance of the EventInfo class.

Proprietà

AddMethod

Ottiene l'oggetto MethodInfo per il metodo AddEventHandler(Object, Delegate) dell'evento, inclusi i metodi non pubblici.Gets the MethodInfo object for the AddEventHandler(Object, Delegate) method of the event, including non-public methods.

Attributes

Ottiene gli attributi per questo evento.Gets the attributes for this event.

CustomAttributes

Ottiene una raccolta che contiene gli attributi personalizzati del membro.Gets a collection that contains this member's custom attributes.

(Ereditato da MemberInfo)
DeclaringType

Ottiene la classe che dichiara questo membro.Gets the class that declares this member.

(Ereditato da MemberInfo)
EventHandlerType

Ottiene l'oggetto Type del delegato del gestore eventi sottostante associato a questo evento.Gets the Type object of the underlying event-handler delegate associated with this event.

IsCollectible

Ottiene un valore che indica se questo oggetto MemberInfo fa parte di un assembly conservato in un AssemblyLoadContext ritirabile.Gets a value that indicates whether this MemberInfo object is part of an assembly held in a collectible AssemblyLoadContext.

(Ereditato da MemberInfo)
IsMulticast

Ottiene un valore che indica se un evento è multicast.Gets a value indicating whether the event is multicast.

IsSpecialName

Ottiene un valore che indica se EventInfo ha un nome con significato speciale.Gets a value indicating whether the EventInfo has a name with a special meaning.

MemberType

Ottiene un valore di MemberTypes che indica che questo membro è un evento.Gets a MemberTypes value indicating that this member is an event.

MetadataToken

Ottiene un valore che identifica un elemento di metadati.Gets a value that identifies a metadata element.

(Ereditato da MemberInfo)
Module

Ottiene il modulo in cui viene definito il tipo che dichiara il membro rappresentato dall'oggetto MemberInfo corrente.Gets the module in which the type that declares the member represented by the current MemberInfo is defined.

(Ereditato da MemberInfo)
Name

Ottiene il nome del membro corrente.Gets the name of the current member.

(Ereditato da MemberInfo)
RaiseMethod

Ottiene il metodo chiamato quando viene generato l'evento, inclusi i metodi non pubblici.Gets the method that is called when the event is raised, including non-public methods.

ReflectedType

Ottiene l'oggetto classe utilizzato per ottenere questa istanza di MemberInfo.Gets the class object that was used to obtain this instance of MemberInfo.

(Ereditato da MemberInfo)
RemoveMethod

Ottiene l'oggetto MethodInfo per rimuovere un metodo dell'evento, inclusi i metodi non pubblici.Gets the MethodInfo object for removing a method of the event, including non-public methods.

Metodi

AddEventHandler(Object, Delegate)

Aggiunge un gestore eventi a un'origine eventi.Adds an event handler to an event source.

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

GetAddMethod()

Restituisce il metodo usato per aggiungere un delegato del gestore eventi all'origine evento.Returns the method used to add an event handler delegate to the event source.

GetAddMethod(Boolean)

Quando viene sottoposto a override in una classe derivata, questo metodo recupera l'oggetto MethodInfo per il metodo AddEventHandler(Object, Delegate) dell'evento, che specifica se restituire metodi non pubblici.When overridden in a derived class, retrieves the MethodInfo object for the AddEventHandler(Object, Delegate) method of the event, specifying whether to return non-public methods.

GetCustomAttributes(Boolean)

Se sottoposto a override in una classe derivata, restituisce una matrice di tutti gli attributi personalizzati applicati a questo membro.When overridden in a derived class, returns an array of all custom attributes applied to this member.

(Ereditato da MemberInfo)
GetCustomAttributes(Type, Boolean)

Quando viene sottoposto a override in una classe derivata, questo metodo restituisce una matrice di attributi personalizzati applicati a questo membro e identificati da Type.When overridden in a derived class, returns an array of custom attributes applied to this member and identified by Type.

(Ereditato da MemberInfo)
GetCustomAttributesData()

Restituisce un elenco di oggetti CustomAttributeData che rappresentano i dati relativi agli attributi applicati al membro di destinazione.Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member.

(Ereditato da MemberInfo)
GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

GetOtherMethods()

Restituisce i metodi pubblici associati a un evento nei metadati tramite la direttiva .other.Returns the public methods that have been associated with an event in metadata using the .other directive.

GetOtherMethods(Boolean)

Restituisce i metodi associati all'evento nei metadati tramite la direttiva .other, che specifica se includere i metodi non pubblici.Returns the methods that have been associated with the event in metadata using the .other directive, specifying whether to include non-public methods.

GetRaiseMethod()

Restituisce il metodo chiamato quando viene generato l'evento.Returns the method that is called when the event is raised.

GetRaiseMethod(Boolean)

Quando sottoposto a override in una classe derivata, restituisce il metodo chiamato quando viene generato l'evento, che specifica se restituire metodi non pubblici.When overridden in a derived class, returns the method that is called when the event is raised, specifying whether to return non-public methods.

GetRemoveMethod()

Restituisce il metodo usato per rimuovere un delegato del gestore eventi dall'origine evento.Returns the method used to remove an event handler delegate from the event source.

GetRemoveMethod(Boolean)

Quando sottoposto a override in una classe derivata, recupera l'oggetto MethodInfo per la rimozione di un metodo dell'evento, che specifica se restituire metodi non pubblici.When overridden in a derived class, retrieves the MethodInfo object for removing a method of the event, specifying whether to return non-public methods.

GetType()
HasSameMetadataDefinitionAs(MemberInfo) (Ereditato da MemberInfo)
IsDefined(Type, Boolean)

Quando se ne effettua l'override in una classe derivata, indica se a questo membro sono applicati uno o più attributi del tipo specificato o dei tipi derivati.When overridden in a derived class, indicates whether one or more attributes of the specified type or of its derived types is applied to this member.

(Ereditato da MemberInfo)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
RemoveEventHandler(Object, Delegate)

Rimuove un gestore eventi da un'origine eventi.Removes an event handler from an event source.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Operatori

Equality(EventInfo, EventInfo)

Indica se due oggetti EventInfo sono uguali.Indicates whether two EventInfo objects are equal.

Inequality(EventInfo, EventInfo)

Indica se due oggetti EventInfo non sono uguali.Indicates whether two EventInfo objects are not equal.

Implementazioni dell'interfaccia esplicita

_EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

_EventInfo.GetType()

Restituisce un oggetto T:System.Type che rappresenta il tipo EventInfo.Returns a T:System.Type object representing the EventInfo type.

_EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_EventInfo.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

_EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Ereditato da MemberInfo)
_MemberInfo.GetType()

Ottiene un oggetto Type che rappresenta la classe MemberInfo.Gets a Type object representing the MemberInfo class.

(Ereditato da MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can then be used to get the type information for an interface.

(Ereditato da MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Ereditato da MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Ereditato da MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean) (Ereditato da MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) (Ereditato da MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean) (Ereditato da MemberInfo)

Metodi di estensione

GetCustomAttribute(MemberInfo, Type)

Recupera una attributo personalizzato di un tipo specificato che viene applicato a un membro specificato.Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera un attributo personalizzato di un tipo specificato che viene applicato a un membro specificato e verifica facoltativamente i predecessori di tale membro.Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttribute<T>(MemberInfo)

Recupera una attributo personalizzato di un tipo specificato che viene applicato a un membro specificato.Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera un attributo personalizzato di un tipo specificato che viene applicato a un membro specificato e verifica facoltativamente i predecessori di tale membro.Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo)

Recupera una raccolta di attributi personalizzati che vengono applicati a un membro specificato.Retrieves a collection of custom attributes that are applied to a specified member.

GetCustomAttributes(MemberInfo, Boolean)

Recupera una raccolta di attributi personalizzati che vengono applicati a un membro specificato e verifica facoltativamente i predecessori di tale membro.Retrieves a collection of custom attributes that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo, Type)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato.Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes(MemberInfo, Type, Boolean)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato e verifica facoltativamente i predecessori di tale membro.Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes<T>(MemberInfo)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato.Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato e verifica facoltativamente i predecessori di tale membro.Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

IsDefined(MemberInfo, Type)

Indica se vengono applicati attributi personalizzati del tipo specificato a un membro specificato.Indicates whether custom attributes of a specified type are applied to a specified member.

IsDefined(MemberInfo, Type, Boolean)

Indica se gli attributi personalizzati di un tipo specificato vengono applicati a un membro specificato e, facoltativamente, ai relativi predecessori.Indicates whether custom attributes of a specified type are applied to a specified member, and, optionally, applied to its ancestors.

GetAddMethod(EventInfo)
GetAddMethod(EventInfo, Boolean)
GetRaiseMethod(EventInfo)
GetRaiseMethod(EventInfo, Boolean)
GetRemoveMethod(EventInfo)
GetRemoveMethod(EventInfo, Boolean)
GetMetadataToken(MemberInfo)

Ottiene un token di metadati per il membro specificato, se disponibile.Gets a metadata token for the given member, if available.

HasMetadataToken(MemberInfo)

Restituisce un valore che indica se un token di metadati è disponibile per il membro specificato.Returns a value that indicates whether a metadata token is available for the specified member.

Sicurezza

InheritanceDemand
per l'attendibilità totale per gli eredi.for full trust for inheritors. Questa classe non può essere ereditata da codice parzialmente attendibile.This class cannot be inherited by partially trusted code.

Si applica a

Thread safety

Questo tipo è thread-safe.This type is thread safe.