Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Type.GetEvents, méthode (BindingFlags)

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 en cours, à 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 en cours et correspondent aux contraintes de liaison spécifiées.
ou
Tableau vide du type EventInfo si le Type en cours n'a pas d'événements ou si aucun des événements ne correspond aux contraintes de liaison.

Implémentations

_Type.GetEvents(BindingFlags)

La méthode GetEvents ne retourne pas les événements dans un ordre spécifique, par exemple par ordre alphabétique ou par ordre de déclaration. Votre code ne doit pas être fonction de l'ordre dans lequel les événements sont retournés, car cet ordre varie.

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

  • Vous devez spécifier soit BindingFlags.Instance, soit BindingFlags.Static pour 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 les événements protégés et internes sur les classes de base sont retournés ; les événements privés sur les classes de base ne sont pas retournés.

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

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

  • BindingFlags.DeclaredOnly pour limiter la recherche aux événements déclarés dans Type et exclure ceux qui ont été simplement hérités.

Consultez System.Reflection.BindingFlags pour plus d'informations.

Un événement est considéré comme public par rapport à la réflexion si au moins l'une de ses méthodes ou l'un de ses accesseurs est public. Sinon, l'événement est considéré comme privé, et vous devez utiliser BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (en Visual Basic, combinez les valeurs à l'aide d' Or) pour l'obtenir.

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

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

L'exemple suivant obtient un tableau d'objets EventInfo correspondant aux indicateurs de liaisons spécifiés ainsi que tous les événements d'une classe Button, puis il 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

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ