(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Type.GetInterface-Methode (String, Boolean)

Sucht beim Überschreiben in einer abgeleiteten Klasse die angegebene Schnittstelle, wobei festgelegt wird, ob bei der Suche des Schnittstellennamens die Groß- und Kleinschreibung berücksichtigt wird.

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

public abstract Type GetInterface(
	string name,
	bool ignoreCase
)

Parameter

name
Typ: System.String
Die Zeichenfolge, die den Namen der abzurufenden Schnittstelle enthält. Bei generischen Schnittstellen ist dies der ergänzte Name.
ignoreCase
Typ: System.Boolean
true , wenn die Groß- und Kleinschreibung dieses Teils von name, der den einfachen Schnittstellennamen angibt, ignoriert werden soll. (Bei der Namespaceangabe im Namen muss die Groß- und Kleinschreibung immer berücksichtigt werden.)
- oder -
false , wenn nach allen Teilen von name mit Berücksichtigung der Groß- und Kleinschreibung gesucht werden soll.

Rückgabewert

Typ: System.Type
Ein Objekt, das die vom aktuellen Type implementierte oder geerbte Schnittstelle mit dem angegebenen Namen darstellt, sofern gefunden, andernfalls null.

Implementiert

_Type.GetInterface(String, Boolean)

AusnahmeBedingung
ArgumentNullException

name ist null.

AmbiguousMatchException

Der aktuelle Type stellt einen Typ dar, der dieselbe generische Schnittstelle mit unterschiedlichen Typargumenten implementiert.

Der ignoreCase-Parameter gilt für nur den einfachen Schnittstellennamen, nicht für den Namespace. Der Teil von name, der den Namespace angibt, muss immer die korrekte Groß- und Kleinschreibung aufweisen. Andernfalls wird die Schnittstelle nicht gefunden. Zum Beispiel ergibt die Zeichenfolge "System.icomparable" eine Übereinstimmung mit der IComparable-Schnittstelle, die Zeichenfolge "system.icomparable" jedoch nicht.

Wenn der aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die Type zurück, wobei die Typparameter durch die entsprechenden Typargumente ersetzt wurden.

Wenn der aktuelle Type einen Typparameter einer generischen Typ- oder Methodendefinition darstellt, durchsucht diese Methode die Schnittstelleneinschränkungen und alle Schnittstellen, die von Klassen- oder Schnittstelleneinschränkungen geerbt wurden.

HinweisHinweis

Bei generischen Schnittstellen ist der name-Parameter der ergänzte Name, der mit einem umgekehrten Apostroph (`) und der Anzahl von Typparametern endet. Dies gilt sowohl für generische Schnittstellendefinitionen als auch für konstruierte generische Schnittstellen. Um z. B. IExample<T> (IExample(Of T) in Visual Basic) oder IExample<string> (IExample(Of String) in Visual Basic) zu finden, suchen Sie nach "IExample`1".

Im folgenden Codebeispiel wird mit der GetInterface(String, Boolean)-Methode die Hashtable-Klasse unter Beachtung der Groß- und Kleinschreibung nach der IEnumerable-Schnittstelle durchsucht, und die Methoden der Schnittstelle werden aufgelistet.

Im Codebeispiel werden außerdem die GetInterface(String)-Methodenüberladung und die GetInterfaceMap-Methode veranschaulicht.


public static void Main()
{
    Hashtable hashtableObj = new Hashtable();
    Type objType = hashtableObj.GetType();
    MemberInfo[] arrayMemberInfo;
    MethodInfo[] arrayMethodInfo;
    try
    {   
        // Get the methods implemented in 'IDeserializationCallback' interface.
        arrayMethodInfo =objType.GetInterface("IDeserializationCallback").GetMethods();
        Console.WriteLine ("\nMethods of 'IDeserializationCallback' Interface :");
        for(int index=0;index < arrayMethodInfo.Length ;index++)
            Console.WriteLine (arrayMethodInfo[index].ToString() ); 

        // Get FullName for interface by using Ignore case search.
        Console.WriteLine ("\nMethods of 'IEnumerable' Interface");
        arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods();
        for(int index=0;index < arrayMethodInfo.Length ;index++)
           Console.WriteLine (arrayMethodInfo[index].ToString()); 

        //Get the Interface methods for 'IDictionary' interface
        InterfaceMapping interfaceMappingObj;
        interfaceMappingObj = objType.GetInterfaceMap(typeof(IDictionary));
        arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
        Console.WriteLine ("\nHashtable class Implements the following IDictionary Interface methods :");
        for(int index=0; index < arrayMemberInfo.Length; index++)
            Console.WriteLine (arrayMemberInfo[index].ToString() ); 
    }
    catch (Exception e)
    {
        Console.WriteLine ("Exception : " + e.ToString());            
    }                 
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft