Leggere in inglese

Condividi tramite


Type.GetInterfaces Metodo

Definizione

Quando ne viene eseguito l'override in una classe derivata, ottiene tutte le interfacce implementate o ereditate dall'oggetto Type corrente.

C#
public abstract Type[] GetInterfaces ();

Restituisce

Type[]

Matrice di oggetti Type che rappresentano tutte le interfacce implementate o ereditate dall'oggetto Typecorrente.

-oppure- Matrice vuota di tipo Type, se non vengono implementate o ereditate interfacce dall'oggetto Type corrente.

Implementazioni

Eccezioni

Un inizializzatore statico viene richiamato e genera un'eccezione.

Esempio

Nell'esempio seguente viene ottiene il tipo della classe specificata e vengono visualizzate tutte le interfacce implementate o ereditate dal tipo. Per compilare l Visual Basic esempio, usare i comandi del compilatore seguenti:

vbc type_getinterfaces1.vb /r:System.Web.dll /r:System.dll

C#
using System;
using System.Collections.Generic;

public class Example
{
    static void Main()
    {
        Console.WriteLine("\r\nInterfaces implemented by Dictionary<int, string>:\r\n");

        foreach (Type tinterface in typeof(Dictionary<int, string>).GetInterfaces())
        {
            Console.WriteLine(tinterface.ToString());
        }

        //Console.ReadLine()      // Uncomment this line for Visual Studio.
    }
}

/* This example produces output similar to the following:

Interfaces implemented by Dictionary<int, string>:

System.Collections.Generic.IDictionary`2[System.Int32,System.String]
System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
System.Collection.IEnumerable
System.Collection.IDictionary
System.Collection.ICollection
System.Runtime.Serialization.ISerializable
System.Runtime.Serialization.IDeserializationCallback
 */

Commenti

Il metodo non restituisce interfacce in un ordine particolare, ad esempio l'ordine GetInterfaces alfabetico o di dichiarazione. Il codice non deve dipendere dall'ordine in cui vengono restituite le interfacce, perché tale ordine varia.

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

Se l'oggetto corrente rappresenta un parametro di tipo nella definizione di un tipo o di un metodo generico, questo metodo cerca i vincoli di interfaccia e tutte le interfacce ereditate dai vincoli di classe Type o di interfaccia.

Si applica a

Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Vedi anche