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.GetInterface-Methode: (String, Boolean)

 

Veröffentlicht: Oktober 2016

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

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

public abstract Type GetInterface(
	string name,
	bool ignoreCase
)

Parameter

name
Type: System.String

Die Zeichenfolge, die den Namen der abzurufenden Schnittstelle enthält. Bei generischen Schnittstellen ist dies der ergänzte Name.

ignoreCase
Type: System.Boolean

true, wenn die Groß-/Kleinschreibung dieses Teils von name, der den einfachen Schnittstellennamen angibt, ignoriert werden soll. (Bei der Namespaceangabe im Namen muss die Groß-/Kleinschreibung immer beachtet werden.)

- oder -

false, wenn nach allen Teilen von name mit Beachtung der Groß-/Kleinschreibung gesucht werden soll.

Rückgabewert

Type: System.Type

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

Exception Condition
ArgumentNullException

name ist null.

AmbiguousMatchException

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

Die ignoreCase Parameter gilt nur für den einfachen Schnittstellennamen, nicht für den Namespace. Der Teil des name , die angibt, der Namespace muss die korrekte Groß-/Kleinschreibung, oder die Schnittstelle nicht gefunden werden. Z. B. die Zeichenfolge "System.icomparable" sucht nach der IComparable -Schnittstelle, die Zeichenfolge "system.icomparable" hingegen nicht.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die Type 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 das schnittstelleneinschränkungen und alle Schnittstellen, die von der Klasse oder Schnittstelle Einschränkungen geerbt.

System_CAPS_noteHinweis

Bei generischen Schnittstellen die name Parameter ist der ergänzte Name, endend mit einem Graviszeichen (') und die Anzahl von Typparametern. Dies gilt für generische Schnittstellendefinitionen und konstruierte generische Schnittstellen. Z. B. mithilfe der Softwareoption IExample<T> (IExample(Of T) in Visual Basic) oder IExample<string> (IExample(Of String) in Visual Basic), suchen Sie nach "IExample`1".

Im folgenden Codebeispiel wird mit der GetInterface(String, Boolean) Methode Groß-/Kleinschreibung nicht beachtet werden soll von der Hashtable -Klasse für die IEnumerable Schnittstelle.

Im Codebeispiel wird veranschaulicht, die auch die GetInterface(String) -methodenüberladung und die GetInterfaceMap Methode.

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
Verfügbar seit 1.1
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: