Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Type.GetEvents-Methode: (BindingFlags)

 

Veröffentlicht: Oktober 2016

Sucht beim Überschreiben in einer abgeleiteten Klasse unter Verwendung der angegebenen Bindungseinschränkungen nach vom aktuellen Type definierten oder geerbten Ereignissen.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public abstract EventInfo[] GetEvents(
	BindingFlags bindingAttr
)

Parameter

bindingAttr
Type: System.Reflection.BindingFlags

Eine Bitmaske aus einem oder mehreren BindingFlags, die angeben, wie die Suche durchgeführt wird.

- oder -

0 (null), damit null zurückgegeben wird.

Rückgabewert

Type: System.Reflection.EventInfo[]

Ein Array von EventInfo-Objekten, die sämtliche vom aktuellen Type deklarierten oder geerbten Ereignisse darstellen, die den angegebenen Bindungseinschränkungen entsprechen.

- oder -

Ein leeres Array vom EventInfo-Typ, wenn der aktuelle Type keine Ereignisse besitzt oder keines der Ereignisse den Bindungseinschränkungen entspricht.

Die GetEvents Methode kehrt Ereignisse in einer bestimmten Reihenfolge, z. B. alphabetische oder Reihenfolge der Deklaration. Code muss nicht abhängig von der Reihenfolge, in der Ereignisse zurückgegeben werden, da, das variieren kann.

Die folgenden BindingFlags Filterflags kann festgelegt werden, welche Ereignisse in die Suche einbezogen werden:

  • Geben Sie entweder BindingFlags.Instance oder BindingFlags.Static um ein Ergebnis zurückgegeben.

  • Geben Sie BindingFlags.Public öffentlichen Ereignisse in die Suche eingeschlossen.

  • Geben Sie BindingFlags.NonPublic nicht öffentliche Ereignisse (d. h. private, interne und geschützte Ereignisse) in die Suche einbezogen. Nur geschützte und interne Ereignisse für Basisklassen werden zurückgegeben. Private Ereignisse für Basisklassen werden nicht zurückgegeben.

  • Geben Sie BindingFlags.FlattenHierarchy enthalten public und protected statische Member der Hierarchie; private statische Member in geerbten Klassen sind nicht eingeschlossen.

Die folgenden BindingFlags Modifiziererflags so ändern Sie die Funktionsweise der Suche verwendet werden können:

  • BindingFlags.DeclaredOnly nur die deklarierten Ereignissen suchen die Type, nicht nach Ereignissen, die nur geerbt wurden.

Weitere Informationen finden Sie unter System.Reflection.BindingFlags.

Ein Ereignis ist Reflektion als öffentlich betrachtet er verfügt über mindestens eine Methode oder Accessor, der öffentlich ist. Andernfalls wird das Ereignis als privat betrachtet, und Sie müssen BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (in Visual Basic, kombinieren Sie die Werte mit Or) um sie zu erhalten.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die EventInfo Objekte, wobei die Typparameter durch die entsprechenden Typargumente ersetzt.

Wenn die aktuelle Type stellt einen Typparameter in der Definition einer generischen Typ- oder Methodendefinition, sucht diese Methode die Ereignisse der Class-Einschränkung.

Im folgende Beispiel ruft ein Array von EventInfo -Objekten, die den angegebenen Bindungsflags Ruft alle Ereignisse für eine Button Klasse, und die Ereignisnamen angezeigt. Verwenden Sie zum Kompilieren der Visual Basic-Beispiel die folgende Befehlszeile ein:

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
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: