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.GetMember-Methode: (String, BindingFlags)

 

Veröffentlicht: Oktober 2016

Sucht die angegebenen Member unter Verwendung der angegebenen Bindungseinschränkungen.

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

public virtual MemberInfo[] GetMember(
	string name,
	BindingFlags bindingAttr
)

Parameter

name
Type: System.String

Die Zeichenfolge, die den Namen der abzurufenden Member enthält.

bindingAttr
Type: System.Reflection.BindingFlags

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

- oder -

0 (null), um ein leeres Array zurückzugeben.

Rückgabewert

Type: System.Reflection.MemberInfo[]

Ein Array von MemberInfo-Objekten, die die öffentlichen Member mit dem angegebenen Namen darstellen, sofern gefunden, andernfalls ein leeres Array.

Exception Condition
ArgumentNullException

name ist null.

Diese Methode kann durch eine abgeleitete Klasse überschrieben werden.

Member enthalten Eigenschaften, Methoden, Felder, Ereignisse und So weiter.

Die GetMember Methode gibt keinen zurück Mitglieder in einer bestimmten Reihenfolge, z. B. alphabetische oder Reihenfolge der Deklaration. Der Code muss nicht richten sich nach der Reihenfolge, in der Elemente zurückgegeben werden, da, bei der Reihenfolge.

Die folgenden BindingFlags Filterkennzeichnungen genutzt werden, welche Member in die Suche einbezogen werden:

  • Geben Sie BindingFlags.Instance oder BindingFlags.Static ändern, um einen Rückgabewert zu erhalten.

  • Geben Sie BindingFlags.Public auf öffentliche Member in die Suche einbeziehen.

  • Geben Sie BindingFlags.NonPublic auf nicht öffentliche Member (d. h. private, interne und geschützte Member) in die Suche einbeziehen.

  • Geben Sie BindingFlags.FlattenHierarchy einschließen public und protected statische Member der Hierarchie; nach oben private statische Member in geerbten Klassen sind nicht eingeschlossen.

Die folgenden BindingFlags Modifiziererflags können verwendet werden, um die ändern, wie die Suche funktioniert:

  • BindingFlags.IgnoreCaseum die Groß-/Kleinschreibung ignorieren name.

  • BindingFlags.DeclaredOnlySuche nur die deklarierten Member der Type, nicht die Elemente, die nur geerbt wurden.

Weitere Informationen finden Sie unter System.Reflection.BindingFlags.

Um die klasseninitialisierung (".cctor"), die Verwendung dieser methodenüberladung zu erhalten, müssen Sie ".cctor" angeben, für name, und BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic) for bindingAttr. Außerdem erhalten Sie, dass die klasseninitialisierung verwenden die TypeInitializer Eigenschaft.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die MemberInfo mit Parametern für den durch die entsprechenden Typargumente ersetzt.

Wenn die aktuelle Type stellt ein Typparameter in der Definition eines generischen Typs oder generische Methode, diese Methode sucht, die Mitglieder der Class-Einschränkung oder die Elemente der Object Wenn ohne klasseneinschränkung ist.

System_CAPS_noteHinweis

Für generische Methoden enthalten nicht die Typargumente in name. Z. B. den C#-Code GetMember("MyMethod<int>") sucht ein Element mit dem Textnamen "MyMethod<int>", anstatt für eine Methode namens MyMethod , die ein generisches Argument des Typs hat int.

Das folgende Beispiel zeigt alle öffentlichen statischen Member der myString -Klasse, die mit dem Buchstaben c beginnen

public void GetPublicStaticMemberInfo()
{
    String myString = "GetMember_String_BindingFlag";
    Type myType = myString.GetType();
    // Get the public static members for the class myString starting with the letter C.
    MemberInfo[] myMembers = myType.GetMember("C*",
        BindingFlags.Public |BindingFlags.Static);
    if(myMembers.Length > 0)
    {
        Console.WriteLine("\nThe public static member(s) starting with the letter C for type {0}:", myType);
        for(int index=0; index < myMembers.Length; index++)
            Console.WriteLine("Member {0}: {1}", index + 1, myMembers[index].ToString());
    }
    else
        Console.WriteLine("No members match the search criteria.");    
}

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