Partager via


EventInfo Classe

Définition

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

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 Type du délégué du gestionnaire d'événements sous-jacent associé à cet événement.

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 EventInfo a une signification particulière.

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

(Hérité de MemberInfo)
RemoveMethod

Obtient l'objet MethodInfo pour supprimer une méthode de l'événement, y compris les méthodes non publiques.

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 MethodInfo de la méthode AddEventHandler(Object, Delegate) de l’événement, en spécifiant s’il faut retourner des méthodes non publiques.

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

GetOtherMethods(Boolean)

Retourne les méthodes qui ont été associées à l'événement dans des métadonnées à l'aide de la directive .other, en spécifiant s'il faut inclure les méthodes non publiques.

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 MethodInfo pour supprimer une méthode l’événement, en spécifiant s’il faut retourner des méthodes non publiques.

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 T:System.Type objet représentant le EventInfo type.

_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 attributeType sont définies sur ce membre.

(Hérité de MemberInfo)

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.