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, MemberTypes, BindingFlags)

 

Veröffentlicht: Oktober 2016

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

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

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

Parameter

name
Type: System.String

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

type
Type: System.Reflection.MemberTypes

Der zu suchende Wert.

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.

NotSupportedException

Eine abgeleitete Klasse muss eine Implementierung bereitstellen.

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

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

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

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

  • Geben Sie BindingFlags.Public Öffentliche Mitglieder in die Suche einbezogen werden sollen.

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

  • 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.IgnoreCase die Groß-/Kleinschreibung ignorieren name.

  • BindingFlags.DeclaredOnly Suchen Sie nur die Member deklariert die Type, nicht die Elemente, die nur geerbt wurden.

Weitere Informationen finden Sie unter System.Reflection.BindingFlags.

Um die Verwendung dieser methodenüberladung klasseninitialisierung (.cctor) zu erhalten, geben Sie ".cctor" für name, MemberTypes.Constructor für type, und BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic) für bindingAttr. Sie erhalten auch die Klasseninitialisierer der TypeInitializer Eigenschaft.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die MemberInfo mit der Typparameter, der durch die entsprechenden Typargumente ersetzt.

Wenn die aktuelle Type stellt ein Typparameter in der Definition eines generischen Typs oder einer generischen Methode, diese Methode sucht, die Mitglieder der Class-Einschränkung oder die Elemente der Object befindet sich kein Class-Einschränkung.

System_CAPS_noteHinweis

Für generische Methoden enthalten nicht die Typargumente in name. Z. B. der C#-Code GetMember("MyMethod<int>") sucht ein Element mit dem Namen "MyMethod<int>", statt für eine Methode namens MyMethod bei dem ein generisches Argument vom Typ int.

Im folgende Beispiel werden alle Methoden von der myString -Klasse, die mit dem Buchstaben c beginnen

    public void GetPublicInstanceMethodMemberInfo()
    {
        String myString = "GetMember_String_MemberType_BindingFlag";
        Type myType = myString.GetType();
        // Get the public instance methods for myString starting with the letter C.
        MemberInfo[] myMembers = myType.GetMember("C*", MemberTypes.Method, 
            BindingFlags.Public | BindingFlags.Instance);
        if(myMembers.Length > 0)
        {
            Console.WriteLine("\nThe public instance method(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
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: