Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.GetInterface méthode (String)

 

Date de publication : novembre 2016

Recherche l'interface avec le nom spécifié.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public Type GetInterface(
	string name
)

Paramètres

name
Type: System.String

Chaîne contenant le nom de l'interface à obtenir. Pour les interfaces génériques, il s'agit du nom tronqué.

Valeur de retour

Type: System.Type

Objet qui représente l'interface ayant le nom spécifié, implémentée ou héritée par le Type actuel, s'il est trouvé ; sinon, null.

Exception Condition
ArgumentNullException

name a la valeur null.

AmbiguousMatchException

Le Type actuel représente un type qui implémente la même interface générique avec des arguments de type différents.

La recherche de name respecte la casse.

Si le courant Type représente un type générique construit, cette méthode retourne la Type avec les paramètres de type remplacés par les arguments de type approprié.

Si le courant Type représente un paramètre de type dans la définition d’un type générique ou de méthode générique, cette méthode recherche les contraintes d’interface et toutes les interfaces héritées des contraintes de classe ou interface.

System_CAPS_noteRemarque

Pour les interfaces génériques, le name paramètre est le nom tronqué, se terminant par un accent grave (') et le nombre de paramètres de type. Cela est vrai pour les définitions d’interface générique et les interfaces génériques construits. Par exemple, pour rechercher IExample<T> (IExample(Of T) en Visual Basic) ou IExample<string> (IExample(Of String) en Visual Basic), recherchez "IExample`1".

Le de code suivant montre comment utiliser le GetInterface(String) méthode pour rechercher le Hashtable de classes pour la IDeserializationCallback interface et répertorie les méthodes de l’interface.

L’exemple de code montre également le GetInterface(String, Boolean) surcharge de méthode et la GetInterfaceMap (méthode).

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 depuis 1.1
Retour au début
Afficher: