Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

Type.GetInterface, méthode (String, Boolean)

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
)
public abstract Type GetInterface (
	String name, 
	boolean ignoreCase
)
public abstract function GetInterface (
	name : String, 
	ignoreCase : boolean
) : Type
Non applicable.

Paramètres

name

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

ignoreCase

true pour ignorer le 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

Objet Type représentant l'interface dont le nom est spécifié, implémenté ou hérité par le Type en cours, si cet objet est trouvé ; sinon, référence Null (Nothing en Visual Basic).

Type d'exceptionCondition

ArgumentNullException

name a la valeur référence Null (Nothing en Visual Basic).

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 paramètre ignoreCase s'applique uniquement au nom d'interface simple, et pas à l'espace de noms. La casse de partie de name qui spécifie l'espace de noms doit être respectée, sans quoi l'interface ne sera pas trouvée. Par exemple, la chaîne "System.icomparable" recherche l'interface IComparable, mais pas la chaîne "system.icomparable".

Si le Type en cours 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.

RemarqueRemarque :

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

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());            
    }                 
}

public static void main(String[] args)
{
    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.get_Item(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.get_Item(index).ToString());
        }
        //Get the Interface methods for 'IDictionary' interface
        InterfaceMapping interfaceMappingObj;
        interfaceMappingObj =
            objType.GetInterfaceMap(IDictionary.class.ToType());
        arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
        Console.WriteLine("\nHashtable class Implements the following"
            + " IDictionary Interface methods :");
        for (int index = 0; index < arrayMemberInfo.length; index++) {
            Console.WriteLine(arrayMemberInfo.get_Item(index).ToString());
        }
    }
    catch (System.Exception e) {
        Console.WriteLine("Exception : " + e.ToString());
    }
} //main

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0, 2.0, 1.1, 1.0

Ajouts de la communauté

Afficher:
© 2014 Microsoft