Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Type.GetInterface (String)

 

Data di pubblicazione: ottobre 2016

Cerca l'interfaccia con il nome specificato.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public Type GetInterface(
	string name
)

Parametri

name
Type: System.String

Stringa che contiene il nome dell'interfaccia da ottenere. Per le interfacce generiche, si tratta del nome alterato.

Valore restituito

Type: System.Type

Oggetto che rappresenta l'interfaccia con il nome specificato, implementata o ereditata dall'oggetto Type corrente, se presente; in caso contrario, null.

Exception Condition
ArgumentNullException

name è null.

AmbiguousMatchException

L'oggetto Type corrente rappresenta un tipo che implementa la stessa interfaccia generica con argomenti di tipo diverso.

La ricerca di name tra maiuscole e minuscole.

Se l'oggetto corrente Type rappresenta un tipo generico costruito, questo metodo restituisce il Type con i parametri di tipo sostituiti dagli argomenti di tipo appropriato.

Se l'oggetto corrente Type rappresenta un parametro di tipo nella definizione di un tipo generico o un metodo generico, questo metodo vengono cercati i vincoli di interfaccia ed eventuali interfacce ereditate dai vincoli di classe o interfaccia.

System_CAPS_noteNota

Per le interfacce generiche, la name parametro corrisponde al nome alterato, che termina con un accento grave (') e il numero di parametri di tipo. Questo vale per le definizioni di interfaccia generica e interfacce generiche costruite. Ad esempio, per trovare IExample<T> (IExample(Of T) in Visual Basic) o IExample<string> (IExample(Of String) in Visual Basic), cercare "IExample`1".

Nell'esempio di codice viene illustrato come utilizzare il GetInterface(String) metodo per la ricerca di Hashtable classe per il IDeserializationCallback interfaccia ed elenca i metodi dell'interfaccia.

L'esempio di codice viene inoltre illustrato il GetInterface(String, Boolean) overload del metodo e GetInterfaceMap metodo.

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
Disponibile da 1.1
Torna all'inizio
Mostra: