Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Type.GetInterface (String)

 

Publicado: octubre de 2016

Busca la interfaz con el nombre especificado.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public Type GetInterface(
	string name
)

Parámetros

name
Type: System.String

Cadena que contiene el nombre de la interfaz que se va a obtener. Para las interfaces genéricas, este es el nombre con sufijo.

Valor devuelto

Type: System.Type

Objeto que representa la interfaz con el nombre especificado, implementada o heredada por el objeto Type actual, si se encuentra; de lo contrario, null.

Exception Condition
ArgumentNullException

El valor de name es null.

AmbiguousMatchException

El Type actual representa un tipo que implementa la misma interfaz genérica con argumentos de tipo diferente.

La búsqueda de name distingue mayúsculas de minúsculas.

Si la corriente Type representa un tipo genérico construido, este método devuelve el Type con los parámetros de tipo sustituidos por los argumentos del tipo adecuado.

Si la corriente Type representa un parámetro de tipo en la definición de un tipo genérico o un método genérico, este método busca las restricciones de interfaz y las interfaces heredadas de restricciones de clase o interfaz.

System_CAPS_noteNota

Para las interfaces genéricas, el name parámetro es el nombre alterado, que finaliza con un acento grave (') y el número de parámetros de tipo. Esto es cierto para definiciones de interfaz genérica e interfaces genéricas construidas. Por ejemplo, para buscar IExample<T> (IExample(Of T) en Visual Basic) o IExample<string> (IExample(Of String) en Visual Basic), busque "IExample`1".

El siguiente ejemplo de código utiliza el GetInterface(String) método para buscar el Hashtable de clases para el IDeserializationCallback interfaz y listas de los métodos de la interfaz.

El ejemplo de código también muestra el GetInterface(String, Boolean) sobrecarga del método y el 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
Disponible desde 1.1
Volver al principio
Mostrar: