Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Type.GetInterface, méthode (String)
Recherche l'interface avec le nom spécifié.
Assembly : mscorlib (dans mscorlib.dll)
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.TypeObjet 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.
Implémentations
_Type.GetInterface(String)| Exception | Condition |
|---|---|
| ArgumentNullException |
name est 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 Type actuel représente un type générique construit, cette méthode retourne Type avec les paramètres de type remplacés par les arguments de type appropriés.
Si le Type actuel représente un paramètre de type dans la définition d'un type ou d'une 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 d'interface.
Remarque
|
|---|
|
Pour les interfaces génériques, le paramètre name est le nom tronqué, qui se termine par un accent grave (`) et le nombre de paramètres de type. Cela est vrai à la fois pour les définitions d'interfaces génériques et les interfaces génériques construites. Par exemple, pour rechercher IExample<T> (IExample(Of T) en Visual Basic) ou IExample<string> (IExample(Of String) en Visual Basic), recherchez "IExample`1". |
L'exemple de code suivant utilise la méthode GetInterface(String) pour rechercher la classe Hashtable pour l'interface IDeserializationCallback et répertorie les méthodes de l'interface.
L'exemple de code suivant illustre également la surcharge de méthode GetInterface(String, Boolean) et la méthode GetInterfaceMap.
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()); } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque