本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

Type.GetInterface 方法 (String)

 

搜尋具有指定名稱的介面。

命名空間:   System
組件:  mscorlib (於 mscorlib.dll)

public Type GetInterface(
	string name
)

參數

name
Type: System.String

字串,包含要取得的介面名稱。 若為泛型介面,則為 mangled 名稱。

傳回值

Type: System.Type

物件,代表具有指定之名稱的介面是由目前 Type 所實作或繼承的 (如有找到);否則為 null

Exception Condition
ArgumentNullException

namenull

AmbiguousMatchException

目前的 Type 代表實作具有不同類型引數之相同泛型介面的類型。

搜尋 name 會區分大小寫。

如果目前 Type 代表建構的泛型型別,這個方法會傳回 Type 以取代為適當的型別引數的型別參數。

如果目前 Type 表示型別參數的泛型類型或泛型方法,這個方法定義中搜尋介面條件約束和繼承自類別或介面條件約束的介面。

System_CAPS_note注意

若為泛型介面, name 參數則為 mangled 的名稱,結尾抑音符號 (') 以及類型參數的數目。 這是泛型介面定義和建構的泛型介面,則為 true。 例如,若要尋找 IExample<T> (IExample(Of T) 在 Visual Basic 中) 或 IExample<string> (IExample(Of String) 在 Visual Basic 中),搜尋 "IExample`1"

下列程式碼範例使用 GetInterface(String) 方法來搜尋 Hashtable 類別 IDeserializationCallback 介面,並列出介面的方法。

程式碼範例也示範 GetInterface(String, Boolean) 方法多載和 GetInterfaceMap 方法。

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
自 1.1 起供應
回到頁首
顯示: