EventInfo Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Individua gli attributi di un evento e consente di accedere ai relativi metadati.
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
- Ereditarietà
- Derivato
- Attributi
- Implementazioni
Esempio
Il codice seguente ottiene un EventInfo oggetto per l'evento Click della Button classe .
#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 associare i gestori eventi, come illustrato nel codice di esempio per il AddEventHandler metodo .
Nota
EventInfo non deve essere usato per generare eventi. Un oggetto genera eventi in base allo stato interno.
Gli eventi vengono usati con i delegati. 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. Per connettersi all'origine evento, il listener di eventi aggiunge questo delegato all'elenco chiamate nell'origine. Quando viene generato l'evento, viene chiamato il metodo invoke del delegato del gestore eventi. Sono supportate sia le notifiche di eventi multicast che di eventi a cast singolo. I Add
metodi e Remove
, oltre alla classe delegato del gestore eventi associati a un evento, devono essere contrassegnati nei metadati.
I delegati sono puntatori a funzione orientati agli oggetti. In C o C++, un puntatore a funzione è un riferimento a un metodo. A differenza del puntatore a funzione C o C++, un delegato contiene due riferimenti: un riferimento a un metodo e un riferimento a un oggetto che supporta il metodo . I delegati possono richiamare un metodo senza conoscere il tipo di classe che dichiara o eredita il metodo . I delegati devono conoscere solo il tipo restituito e l'elenco di parametri del metodo.
Il modello di evento funziona altrettanto bene per i delegati a cast singolo e multicast. Quando viene chiamato il metodo invoke del delegato, solo un singolo oggetto avrà un metodo chiamato su di esso. Un modificatore multicast può essere applicato a una dichiarazione delegato, che consente di chiamare più metodi quando viene chiamato il metodo invoke del delegato.
La chiamata ICustomAttributeProvider.GetCustomAttributes su EventInfo
quando il parametro di GetCustomAttributes
non true
esegue la inherit
procedura dettagliata della gerarchia dei tipi. Usare System.Attribute per ereditare attributi personalizzati.
Note per gli implementatori
Quando si eredita da EventInfo
, è necessario eseguire l'override dei membri seguenti: GetAddMethod(Boolean), GetRemoveMethod(Boolean)e GetRaiseMethod(Boolean).
Costruttori
EventInfo() |
Inizializza una nuova istanza della classe |
Proprietà
AddMethod |
Ottiene l'oggetto MethodInfo per il metodo AddEventHandler(Object, Delegate) dell'evento, inclusi i metodi non pubblici. |
Attributes |
Ottiene gli attributi per questo evento. |
CustomAttributes |
Ottiene una raccolta che contiene gli attributi personalizzati del membro. (Ereditato da MemberInfo) |
DeclaringType |
Ottiene la classe che dichiara questo membro. (Ereditato da MemberInfo) |
EventHandlerType |
Ottiene l'oggetto |
IsCollectible |
Ottiene un valore che indica se questo oggetto MemberInfo fa parte di un assembly conservato in un AssemblyLoadContext ritirabile. (Ereditato da MemberInfo) |
IsMulticast |
Ottiene un valore che indica se un evento è multicast. |
IsSpecialName |
Ottiene un valore che indica se |
MemberType |
Ottiene un valore di MemberTypes che indica che questo membro è un evento. |
MemberType |
Quando viene eseguito l'override in una classe derivata, ottiene un valore MemberTypes che indica il tipo del membro, il metodo, il costruttore, l'evento e così via. (Ereditato da MemberInfo) |
MetadataToken |
Ottiene un valore che identifica un elemento di metadati. (Ereditato da MemberInfo) |
Module |
Ottiene il modulo in cui viene definito il tipo che dichiara il membro rappresentato dall'oggetto MemberInfo corrente. (Ereditato da MemberInfo) |
Name |
Ottiene il nome del membro corrente. (Ereditato da MemberInfo) |
RaiseMethod |
Ottiene il metodo chiamato quando viene generato l'evento, inclusi i metodi non pubblici. |
ReflectedType |
Ottiene l'oggetto classe utilizzato per ottenere questa istanza di |
RemoveMethod |
Ottiene l'oggetto |
Metodi
AddEventHandler(Object, Delegate) |
Aggiunge un gestore eventi a un'origine eventi. |
Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. |
Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da MemberInfo) |
GetAddMethod() |
Restituisce il metodo usato per aggiungere un delegato del gestore eventi all'origine evento. |
GetAddMethod(Boolean) |
Quando viene sottoposto a override in una classe derivata, questo metodo recupera l'oggetto |
GetCustomAttributes(Boolean) |
Se sottoposto a override in una classe derivata, restituisce una matrice di tutti gli attributi personalizzati applicati a questo membro. (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. (Ereditato da MemberInfo) |
GetCustomAttributesData() |
Restituisce un elenco di oggetti CustomAttributeData che rappresentano i dati relativi agli attributi applicati al membro di destinazione. (Ereditato da MemberInfo) |
GetHashCode() |
Restituisce il codice hash per l'istanza. |
GetHashCode() |
Restituisce il codice hash per l'istanza. (Ereditato da MemberInfo) |
GetOtherMethods() |
Restituisce i metodi pubblici associati a un evento nei metadati tramite la direttiva |
GetOtherMethods(Boolean) |
Restituisce i metodi associati all'evento nei metadati tramite la direttiva |
GetRaiseMethod() |
Restituisce il metodo chiamato quando viene generato l'evento. |
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. |
GetRemoveMethod() |
Restituisce il metodo usato per rimuovere un delegato del gestore eventi dall'origine evento. |
GetRemoveMethod(Boolean) |
Quando sottoposto a override in una classe derivata, recupera l'oggetto |
GetType() |
Individua gli attributi di un evento della classe e consente di accedere ai metadati dell'evento. |
GetType() |
Individua gli attributi di un membro e consente di accedere ai metadati del membro. (Ereditato da MemberInfo) |
HasSameMetadataDefinitionAs(MemberInfo) |
Individua gli attributi di un evento e consente di accedere ai relativi metadati. (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. (Ereditato da MemberInfo) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
RemoveEventHandler(Object, Delegate) |
Rimuove un gestore eventi da un'origine eventi. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Operatori
Equality(EventInfo, EventInfo) |
Indica se due oggetti EventInfo sono uguali. |
Inequality(EventInfo, EventInfo) |
Indica se due oggetti EventInfo non sono uguali. |
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. |
_EventInfo.GetType() |
Restituisce un |
_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. |
_EventInfo.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). |
_EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. |
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da MemberInfo) |
_MemberInfo.GetType() |
Ottiene un oggetto Type che rappresenta la classe MemberInfo. (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. (Ereditato da MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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. (Ereditato da MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Restituisce una matrice di tutti gli attributi personalizzati definiti in questo membro, esclusi gli attributi denominati, oppure una matrice vuota se non sono presenti attributi personalizzati. (Ereditato da MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Restituisce una matrice di attributi personalizzati definiti in questo membro, identificati dal tipo o da una matrice vuota, se non sono presenti attributi personalizzati di quel tipo. (Ereditato da MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Indica se per questo membro sono definite una o più istanze di |
Metodi di estensione
GetCustomAttribute(MemberInfo, Type) |
Recupera una attributo personalizzato di un tipo specificato che viene applicato a un membro specificato. |
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. |
GetCustomAttribute<T>(MemberInfo) |
Recupera una attributo personalizzato di un tipo specificato che viene applicato a un membro specificato. |
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. |
GetCustomAttributes(MemberInfo) |
Recupera una raccolta di attributi personalizzati che vengono applicati a un membro specificato. |
GetCustomAttributes(MemberInfo, Boolean) |
Recupera una raccolta di attributi personalizzati che vengono applicati a un membro specificato e verifica facoltativamente i predecessori di tale membro. |
GetCustomAttributes(MemberInfo, Type) |
Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato. |
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. |
GetCustomAttributes<T>(MemberInfo) |
Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato. |
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. |
IsDefined(MemberInfo, Type) |
Indica se vengono applicati attributi personalizzati del tipo specificato a un membro specificato. |
IsDefined(MemberInfo, Type, Boolean) |
Indica se gli attributi personalizzati di un tipo specificato vengono applicati a un membro specificato e, facoltativamente, ai relativi predecessori. |
GetAddMethod(EventInfo) |
Individua gli attributi di un evento e consente di accedere ai relativi metadati. |
GetAddMethod(EventInfo, Boolean) |
Individua gli attributi di un evento e consente di accedere ai relativi metadati. |
GetRaiseMethod(EventInfo) |
Individua gli attributi di un evento e consente di accedere ai relativi metadati. |
GetRaiseMethod(EventInfo, Boolean) |
Individua gli attributi di un evento e consente di accedere ai relativi metadati. |
GetRemoveMethod(EventInfo) |
Individua gli attributi di un evento e consente di accedere ai relativi metadati. |
GetRemoveMethod(EventInfo, Boolean) |
Individua gli attributi di un evento e consente di accedere ai relativi metadati. |
GetMetadataToken(MemberInfo) |
Ottiene un token di metadati per il membro specificato, se disponibile. |
HasMetadataToken(MemberInfo) |
Restituisce un valore che indica se un token di metadati è disponibile per il membro specificato. |
Si applica a
Thread safety
Questo tipo è thread-safe.