本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

Type.GetInterface 方法 (String)

 

搜索具有指定名称的接口。

命名空间:   System
程序集:  mscorlib(位于 mscorlib.dll)

public Type GetInterface(
	string name
)

参数

name
Type: System.String

包含要获取的接口名称的字符串。 对于泛型接口,这是重整名称。

返回值

Type: System.Type

表示具有指定名称且由当前的 Type 实现或继承的接口的对象(如果找到的话);否则为 null

Exception Condition
ArgumentNullException

namenull

AmbiguousMatchException

当前 Type 表示实现具有不同类型参数的相同泛型接口的类型。

搜索name区分大小写。

如果当前Type表示构造的泛型类型,此方法返回Type具有类型参数替换为相应的类型实参。

如果当前Type表示泛型类型或泛型方法,则此方法的定义中的类型参数将搜索接口约束和继承的类或接口约束的所有接口。

System_CAPS_note说明

对于泛型接口,name参数是结束使用重读符号 (') 和类型参数的数目的重整的名称。 这适用于泛型接口定义和构造的泛型接口。 例如,若要查找IExample<T>(IExample(Of T)在 Visual Basic 中) 或IExample<string>(IExample(Of String)在 Visual Basic 中),搜索"IExample`1"

下面的代码示例使用GetInterface(String)方法搜索HashtableIDeserializationCallback接口,并列出接口的方法。

代码示例还演示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 起可用
返回页首
显示: