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.GetEvent-Methode: (String)

 

Veröffentlicht: Oktober 2016

Gibt das EventInfo-Objekt zurück, das das angegebene öffentliche Ereignis darstellt.

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

public EventInfo GetEvent(
	string name
)

Parameter

name
Type: System.String

Die Zeichenfolge, die den Namen eines vom aktuellen Type deklarierten oder geerbten Ereignisses enthält.

Rückgabewert

Type: System.Reflection.EventInfo

Das Objekt, das das angegebene vom aktuellen Type deklarierte oder geerbte öffentliche Ereignis darstellt, sofern gefunden, andernfalls null.

Exception Condition
ArgumentNullException

name ist null.

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.

Die Suche nach name Groß-/Kleinschreibung beachtet. Die Suche schließt öffentliche statisch und öffentlich Instanz Ereignisse.

Die folgende Tabelle zeigt, welche Member einer Basisklasse von zurückgegeben werden die Get -Methode auf, wenn für einen Typ reflektieren.

Memberart

Statisch

Nicht statisch

Konstruktor

Nein

Nein

Feld

Nein

Ja. Ein Feld ist immer nach Name und Signatur ausblenden.

Ereignis

Nicht zutreffend

Das allgemeine Typsystem ist, dass die Vererbung ist identisch mit der Methoden, die die Eigenschaft implementieren. Die Reflektion behandelt Eigenschaften als nach Namen und Signatur ausblenden. Siehe Hinweis 2 weiter unten.

Methode

Nein

Ja. Eine Methode (virtuelle und nicht virtuelle) kann im Hintergrund nach Namen oder nach Name und Signatur ausblenden.

Geschachtelter Typ

Nein

Nein

Eigenschaft

Nicht zutreffend

Das allgemeine Typsystem ist, dass die Vererbung ist identisch mit der Methoden, die die Eigenschaft implementieren. Die Reflektion behandelt Eigenschaften als nach Namen und Signatur ausblenden. Siehe Hinweis 2 weiter unten.

  1. Nach Name und Signatur ausblenden berücksichtigt alle Teile der Signatur, benutzerdefinierte Modifizierer, einschließlich Typen, Parametertypen, Sentinels enthält und nicht verwaltete Aufrufkonventionen zurück. Dies ist ein binärer Vergleich.

  2. Für die Reflektion sind die Eigenschaften und Ereignisse nach Name und Signatur ausblenden. Wenn Sie eine Eigenschaft mit einer Get und Set-Accessor in der Basisklasse haben, aber die abgeleitete Klasse nur einen Get-Accessor hat, die Eigenschaft der abgeleiteten Klasse blendet die Basisklasse-Eigenschaft, und Sie sind nicht in der Lage, die Setter-Methode der Basisklasse zugreifen.

  3. Benutzerdefinierte Attribute sind nicht Teil des allgemeinen Typsystems.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die EventInfo mit der Typparameter, der 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.

Das folgende Beispiel erstellt ein EventInfo -Objekt und das Ereignis für eine Schaltflächenklasse für das angegebene Ereignis abgerufen.

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

class MyEventExample
{
    public static void Main()
    {  
        try
        {

            Type myType = typeof(System.Windows.Forms.Button);
            EventInfo myEvent = myType.GetEvent("Click");
            if(myEvent != null)
            {
                Console.WriteLine("Looking for the Click event in the Button class.");
                Console.WriteLine(myEvent.ToString());
            }
            else
                Console.WriteLine("The Click event is not available in 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
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: