Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.GetEvents méthode (BindingFlags)

 

Date de publication : novembre 2016

En cas de substitution dans une classe dérivée, recherche les événements qui sont déclarés ou hérités par le Type actuel, à l'aide des contraintes de liaison spécifiées.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public abstract EventInfo[] GetEvents(
	BindingFlags bindingAttr
)

Paramètres

bindingAttr
Type: System.Reflection.BindingFlags

Masque de bits constitué d'un ou de plusieurs BindingFlags spécifiant le mode d'exécution de la recherche.

ou

Zéro, pour retourner null.

Valeur de retour

Type: System.Reflection.EventInfo[]

Tableau d'objets EventInfo représentant tous les événements qui sont déclarés ou hérités par le Type actuel et correspondent aux contraintes de liaison spécifiées.

ou

Tableau vide du type EventInfo si le Type actuel n'a pas d'événements ou si aucun des événements ne correspond aux contraintes de liaison.

Le GetEvents méthode ne retourne pas les événements dans un ordre particulier, tel qu’alphabétique ou l’ordre de déclaration. Votre code ne doit pas varient en fonction de l’ordre dans lequel les événements sont retournés, car cet ordre varie.

Les éléments suivants BindingFlags les indicateurs de filtre peuvent être utilisés pour définir les événements à inclure dans la recherche :

  • Vous devez spécifier BindingFlags.Instance ou BindingFlags.Static afin d’obtenir un retour.

  • Spécifiez BindingFlags.Public pour inclure les événements publics dans la recherche.

  • Spécifiez BindingFlags.NonPublic pour inclure les événements non publics (c'est-à-dire les événements privés, internes et protégés) dans la recherche. Seuls protégés et des événements internes sur les classes de base sont retournés ; événements privés sur les classes de base ne sont pas retournés.

  • Spécifiez BindingFlags.FlattenHierarchy pour inclure public et protected des membres statiques de la hiérarchie ; private des membres statiques dans les classes héritées ne sont pas inclus.

Les éléments suivants BindingFlags les indicateurs de modificateur peuvent être utilisés pour modifier le fonctionnement de la recherche :

  • BindingFlags.DeclaredOnly Pour rechercher uniquement les événements déclarés sur le Type, pas les événements qui ont été simplement hérités.

Pour plus d'informations, voir System.Reflection.BindingFlags.

Un événement est considérée comme publique à la réflexion s’il comporte au moins une méthode ou accesseurs est public. Sinon, l’événement est considérée comme privée, et vous devez utiliser BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (en Visual Basic, combinez les valeurs à l’aide de Or) pour l’obtenir.

Si le courant Type représente un type générique construit, cette méthode retourne le EventInfo objets avec les paramètres de type remplacés par les arguments de type approprié.

Si le courant Type représente un paramètre de type dans la définition d’un type générique ou de méthode générique, cette méthode recherche les événements de la contrainte de classe.

L’exemple suivant obtient un tableau de EventInfo objets qui correspondent aux indicateurs de liaison spécifiés, obtient tous les événements pour un Button de classe et affiche les noms des événements. Pour compiler l’exemple Visual Basic, utilisez la ligne de commande suivante :

vbc type_getevents2.vb /r:System.Windows.Forms.dll /r:System.dll

using System;
using System.Reflection;
using System.Security;

class EventsSample
{
    public static void Main()
    { 
        try
        {
            // Create a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance | BindingFlags.Public;  
            Type myTypeEvent = typeof(System.Windows.Forms.Button);
            EventInfo[] myEventsBindingFlags = myTypeEvent.GetEvents(myBindingFlags);
            Console.WriteLine("\nThe events on the Button class with the specified BindingFlags are:");
            for (int index = 0; index < myEventsBindingFlags.Length; index++)
            {
                Console.WriteLine(myEventsBindingFlags[index].ToString());
            }
        }
        catch(SecurityException e)
        {
            Console.WriteLine("SecurityException:" + e.Message);
        }
        catch(ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException: " + e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception: " + e.Message);
        }
    }
}

.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: