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, Boolean)

 

Date de publication : novembre 2016

En cas de substitution dans une classe dérivée, recherche l'interface spécifiée, en indiquant s'il faut faire une recherche qui ne respecte pas la casse pour le nom de l'interface.

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

public abstract Type GetInterface(
	string name,
	bool ignoreCase
)

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é.

ignoreCase
Type: System.Boolean

true pour ignorer la casse de cette partie de name qui spécifie le nom d'interface simple (la casse de la partie qui spécifie l'espace de noms doit être respectée).

ou

false pour effectuer une recherche qui respecte la casse de toutes les parties de name.

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.

Le ignoreCase paramètre s’applique uniquement au nom d’interface simple, pas à l’espace de noms. La partie de name qui spécifie l’espace de noms doive respecter la casse, ou l’interface est introuvable. Par exemple, la chaîne « System.icomparable » recherche les IComparable interface, mais la chaîne « system.icomparable » n’est pas.

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, Boolean) méthode pour effectuer une recherche sans respecter la casse de la Hashtable de classes pour la IEnumerable interface.

L’exemple de code montre également le GetInterface(String) 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
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: