Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método Type.GetInterface (String)

 

Pesquisa a interface com o nome especificado.

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

public Type GetInterface(
	string name
)

Parâmetros

name
Type: System.String

A cadeia de caracteres que contém o nome da interface a ser obtida. Para interfaces genéricas, este é o nome danificado.

Valor Retornado

Type: System.Type

Um objeto que representa a interface com o nome especificado, implementado ou herdado pelo Type atual, se encontrado; caso contrário, null.

Exception Condition
ArgumentNullException

name é null.

AmbiguousMatchException

O Type atual representa um tipo que implementa a mesma interface genérica com argumentos de tipo diferente.

A pesquisa de name diferencia maiúsculas de minúsculas.

Caso o Type atual represente um tipo genérico construído, este método retorna o Type com os parâmetros de tipo substituídos pelos argumentos de tipo apropriados.

Se o atual Type representa um parâmetro de tipo na definição de um tipo genérico ou método genérico, este método pesquisa as restrições de interface e de quaisquer interfaces herdadas de restrições de classe ou interface.

System_CAPS_noteObservação

Para interfaces genéricas, o name parâmetro é o nome danificado, terminando com um acento grave (') e o número de parâmetros de tipo. Isso é verdadeiro para definições de interface genérica e interfaces genéricas construídos. Por exemplo, para localizar IExample<T> (IExample(Of T) no Visual Basic) ou IExample<string> (IExample(Of String) no Visual Basic), procure "IExample`1".

O seguinte exemplo de código usa o GetInterface(String) método para pesquisar o Hashtable de classe para o IDeserializationCallback interface e lista os métodos da interface.

O exemplo de código também demonstra a GetInterface(String, Boolean) sobrecarga de método e o GetInterfaceMap método.

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
Disponível desde 1.1
Retornar ao início
Mostrar: