匯出 (0) 列印
全部展開
本文章是由機器翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文

Type.GetInterface 方法 (String)

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

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

public Type GetInterface(
	string name
)

參數

name
類型:System.String
字串,包含要取得的介面名稱。 若為泛型介面,則為 mangled 名稱。

傳回值

類型:System.Type
物件,表示具有指定之名稱的介面是由目前 Type 所實作或繼承的 (如果找到的話),否則為 null

實作

_Type.GetInterface(String)

例外狀況條件
ArgumentNullException

namenull

AmbiguousMatchException

目前的 Type 代表的型別有實作出相同的泛型介面,但型別引數不同。

name 的搜尋是區分大小寫的。

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

如果目前的 Type 是代表泛型型別或方法定義中的型別參數,這個方法就會搜尋介面條件約束,以及繼承自類別或介面條件約束的任何介面。

注意事項注意事項

若為泛型介面,name 參數為 mangled 名稱,其結尾為抑音符號 (`) 和型別參數的個數。 此規則適用於泛型介面定義與建構泛型介面。 舉例來說,要找出 IExample<T> (Visual Basic 中的 IExample(Of T)) 或 IExample<string> (Visual Basic 中的 IExample(Of String)),請搜尋 "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

支援版本:4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

支援版本:4、3.5 SP1

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 (不支援伺服器核心角色), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心角色,不支援 Itanium)

.NET Framework 並不支援各種平台的所有版本。如需支援版本的清單,請參閱.NET Framework 系統需求

社群新增項目

新增
顯示:
© 2014 Microsoft