EventInfo Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement.
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
- Héritage
- Dérivé
- Attributs
- Implémente
Exemples
Le code suivant obtient un EventInfo objet pour l’événement Click de la 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
Remarques
Utilisez la EventInfo classe pour inspecter les événements et connecter des gestionnaires d’événements, comme indiqué dans l’exemple de code de la AddEventHandler méthode.
Notes
EventInfo n’est pas destiné à être utilisé pour déclencher des événements. Un objet déclenche des événements comme dictés par son état interne.
Les événements sont utilisés avec les délégués. Un écouteur d’événements instancie un délégué de gestionnaire d’événements appelé chaque fois que l’événement est déclenché par une source d’événement. Pour se connecter à la source d’événement, l’écouteur d’événements ajoute ce délégué à la liste d’appels sur la source. Lorsque l’événement est déclenché, la méthode invoke du délégué du gestionnaire d’événements est appelée. Les notifications d’événements de multidiffusion et de cast unique sont prises en charge. Les Add
méthodes et Remove
, ainsi que la classe déléguée du gestionnaire d’événements associée à un événement, doivent être marquées dans les métadonnées.
Les délégués sont des pointeurs de fonction orientés objet. En C ou C++, un pointeur de fonction est une référence à une méthode. Contrairement au pointeur de fonction C ou C++, un délégué contient deux références : une référence à une méthode et une référence à un objet qui prend en charge la méthode. Les délégués peuvent appeler une méthode sans connaître le type de classe qui déclare ou hérite de la méthode. Les délégués doivent uniquement connaître le type de retour et la liste de paramètres de la méthode.
Le modèle d’événement fonctionne également bien pour les délégués mono cast et multidiffusion. Lorsque la méthode invoke du délégué est appelée, une méthode est appelée sur un seul objet. Un modificateur de multidiffusion peut être appliqué à une déclaration de délégué, ce qui permet d’appeler plusieurs méthodes lorsque la méthode invoke du délégué est appelée.
L’appel ICustomAttributeProvider.GetCustomAttributes de on EventInfo
lorsque le inherit
paramètre de GetCustomAttributes
est true
n’exécute pas la hiérarchie de types. Utilisez System.Attribute pour hériter d’attributs personnalisés.
Notes pour les responsables de l’implémentation
Lorsque vous héritez de EventInfo
, vous devez remplacer les membres suivants : GetAddMethod(Boolean), GetRemoveMethod(Boolean)et GetRaiseMethod(Boolean).
Constructeurs
EventInfo() |
Initialise une nouvelle instance de la classe |
Propriétés
AddMethod |
Obtient l'objet MethodInfo de la méthode AddEventHandler(Object, Delegate) d'événement, y compris les méthodes non publiques. |
Attributes |
Obtient les attributs de cet événement. |
CustomAttributes |
Obtient une collection qui contient les attributs personnalisés de ce membre. (Hérité de MemberInfo) |
DeclaringType |
Obtient la classe qui déclare ce membre. (Hérité de MemberInfo) |
EventHandlerType |
Obtient l'objet |
IsCollectible |
Obtient une valeur qui indique si cet objet MemberInfo fait partie d’un assembly contenu dans un AssemblyLoadContext pouvant être collecté. (Hérité de MemberInfo) |
IsMulticast |
Récupère une valeur indiquant si l’événement est multicast. |
IsSpecialName |
Obtient une valeur indiquant si le nom de |
MemberType |
Obtient une valeur MemberTypes indiquant que ce membre est un événement. |
MemberType |
En cas de substitution dans une classe dérivée, récupère une valeur MemberTypes indiquant le type du membre (méthode, constructeur, événement, etc.). (Hérité de MemberInfo) |
MetadataToken |
Obtient une valeur qui identifie un élément de métadonnées. (Hérité de MemberInfo) |
Module |
Obtient le module dans lequel le type qui déclare le membre représenté par le MemberInfo actuel est défini. (Hérité de MemberInfo) |
Name |
Obtient le nom du membre actuel. (Hérité de MemberInfo) |
RaiseMethod |
Obtient la méthode appelée lorsque l'événement est déclenché, y compris les méthodes non publiques. |
ReflectedType |
Obtient l'objet classe utilisé pour obtenir cette instance de |
RemoveMethod |
Obtient l'objet |
Méthodes
AddEventHandler(Object, Delegate) |
Ajoute un gestionnaire d’événements à une source d’événements. |
Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. |
Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de MemberInfo) |
GetAddMethod() |
Retourne la méthode utilisée pour ajouter un délégué de gestionnaire d’événements à la source de l’événement. |
GetAddMethod(Boolean) |
En cas de substitution dans une classe dérivée, récupère l’objet |
GetCustomAttributes(Boolean) |
En cas de substitution dans une classe dérivée, retourne un tableau de tous les attributs personnalisés appliqués à ce membre. (Hérité de MemberInfo) |
GetCustomAttributes(Type, Boolean) |
En cas de substitution dans une classe dérivée, retourne un tableau d’attributs personnalisés appliqués à ce membre et identifiés par Type. (Hérité de MemberInfo) |
GetCustomAttributesData() |
Renvoie une liste d’objets CustomAttributeData représentant des données sur les attributs qui ont été appliqués au membre cible. (Hérité de MemberInfo) |
GetHashCode() |
Retourne le code de hachage de cette instance. |
GetHashCode() |
Retourne le code de hachage de cette instance. (Hérité de MemberInfo) |
GetOtherMethods() |
Retourne les méthodes publiques qui ont été associées à un événement dans les métadonnées à l'aide de la directive |
GetOtherMethods(Boolean) |
Retourne les méthodes qui ont été associées à l'événement dans des métadonnées à l'aide de la directive |
GetRaiseMethod() |
Retourne la méthode appelée lorsque l’événement est déclenché. |
GetRaiseMethod(Boolean) |
En cas de substitution dans une classe dérivée, retourne la méthode appelée lorsque l’événement est déclenché, en spécifiant s’il faut retourner des méthodes non publiques. |
GetRemoveMethod() |
Retourne la méthode utilisée pour supprimer un délégué de gestionnaire d’événements délégué de la source de l’événement. |
GetRemoveMethod(Boolean) |
En cas de substitution dans une classe dérivée, récupère l’objet |
GetType() |
Identifie les attributs d’un événement de classe et donne accès à ses métadonnées. |
GetType() |
Identifie les attributs d’un membre et donne accès à ses métadonnées. (Hérité de MemberInfo) |
HasSameMetadataDefinitionAs(MemberInfo) |
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement. (Hérité de MemberInfo) |
IsDefined(Type, Boolean) |
En cas de substitution dans une classe dérivée, indique si un ou plusieurs attributs du type spécifié ou de ses types dérivés sont appliqués à ce membre. (Hérité de MemberInfo) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
RemoveEventHandler(Object, Delegate) |
Supprime un gestionnaire d’événements d’une source d’événements. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Opérateurs
Equality(EventInfo, EventInfo) |
Indique si deux objets EventInfo sont égaux. |
Inequality(EventInfo, EventInfo) |
Indique si deux objets EventInfo ne sont pas égaux. |
Implémentations d’interfaces explicites
_EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. |
_EventInfo.GetType() |
Retourne un |
_EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface. |
_EventInfo.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). |
_EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l'accès aux propriétés et aux méthodes exposées par un objet. |
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de MemberInfo) |
_MemberInfo.GetType() |
Obtient un objet Type représentant la classe MemberInfo. (Hérité de MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface. (Hérité de MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Retourne un tableau de tous les attributs personnalisés définis sur ce membre, en dehors des attributs nommés, ou un tableau vide s’il n’y a aucun attribut personnalisé. (Hérité de MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Retourne un tableau d’attributs personnalisés définis sur ce membre, identifiés par type, ou un tableau vide s’il n’y a aucun attribut personnalisé de ce type. (Hérité de MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Indique si une ou plusieurs instances de |
Méthodes d’extension
GetCustomAttribute(MemberInfo, Type) |
Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. |
GetCustomAttribute<T>(MemberInfo) |
Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. |
GetCustomAttributes(MemberInfo) |
Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié. |
GetCustomAttributes(MemberInfo, Boolean) |
Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. |
GetCustomAttributes(MemberInfo, Type) |
Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. |
GetCustomAttributes<T>(MemberInfo) |
Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. |
IsDefined(MemberInfo, Type) |
Indique si des attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié. |
IsDefined(MemberInfo, Type, Boolean) |
Indique si les attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié, et, éventuellement, appliqués à ses ancêtres. |
GetAddMethod(EventInfo) |
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement. |
GetAddMethod(EventInfo, Boolean) |
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement. |
GetRaiseMethod(EventInfo) |
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement. |
GetRaiseMethod(EventInfo, Boolean) |
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement. |
GetRemoveMethod(EventInfo) |
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement. |
GetRemoveMethod(EventInfo, Boolean) |
Identifie les attributs d'un événement et donne accès aux métadonnées de l'événement. |
GetMetadataToken(MemberInfo) |
Obtient un jeton de métadonnées pour le membre donné, s’il est disponible. |
HasMetadataToken(MemberInfo) |
Retourne une valeur qui indique si un jeton de métadonnées est disponible pour le membre spécifié. |
S’applique à
Cohérence de thread
Ce type est thread-safe.