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.GetEvent méthode (String, BindingFlags)

 

Date de publication : novembre 2016

En cas de substitution dans une classe dérivée, retourne l'objet EventInfo représentant l'événement spécifié, à l'aide des contraintes de liaison spécifiées.

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

public abstract EventInfo GetEvent(
	string name,
	BindingFlags bindingAttr
)

Paramètres

name
Type: System.String

Chaîne contenant le nom d'un événement déclaré ou hérité par le Type actuel.

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

Objet représentant l'événement spécifié qui est déclaré ou hérité par le Type actuel, s'il est trouvé ; sinon, null.

Exception Condition
ArgumentNullException

name a la valeur null.

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

  • Spécifiez BindingFlags.FlattenHierarchy à inclure public et protected des membres statiques dans 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.IgnoreCasepour ignorer la casse de name.

  • BindingFlags.DeclaredOnlyPour 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 de la réflexion s’il a au moins une méthode ou l’accesseur 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 la EventInfo 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.

Le code suivant exemple utilise le GetEvent(String, BindingFlags) méthode pour rechercher un type pour un événement public ou non public nommé « Cliquez » qui n’est pas static (Shared en Visual Basic).

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);
        }
    }
}

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