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
|
Module.FindTypes, méthode
Retourne un tableau des classes acceptées par le filtre et les critères de filtre donnés.
Assembly : mscorlib (dans mscorlib.dll)
Paramètres
- filter
- Type : System.Reflection.TypeFilter
Délégué utilisé pour filtrer les classes.
- filterCriteria
- Type : System.Object
Objet utilisé pour filtrer les classes.
Valeur de retour
Type : System.Type[]Tableau de type Type contenant les classes acceptées par le filtre.
| Exception | Condition |
|---|---|
| ReflectionTypeLoadException |
Une ou plusieurs classes d'un module n'ont pas pu être chargées. |
ReflectionTypeLoadException est une exception spécifique liée au chargement des classes. La propriété ReflectionTypeLoadException.Types contient le tableau des classes qui ont été définies dans le module et chargées. Ce tableau peut contenir des valeurs null. La propriété ReflectionTypeLoadException.LoaderExceptions est un tableau d'exceptions qui représentent les exceptions levées par le chargeur de classes. Les espaces vides du tableau de classe correspondent aux exceptions.
Le délégué donné par filter est appelé pour chaque classe du module, en passant l'objet Type représentant la classe ainsi que le filterCriteria donné. Si filter retourne une classe spécifique, cette classe est incluse dans le tableau retourné. Si filter retourne null, toutes les classes sont retournées et filterCriteria est ignoré.
Vous ne pouvez pas utiliser FindTypes pour rechercher des types paramétrés tels que des tableaux.
L'exemple suivant illustre la méthode FindTypes.
using System; using System.Reflection; namespace ReflectionModule_Examples { class MyMainClass { static void Main() { Module[] moduleArray; moduleArray = Assembly.GetExecutingAssembly().GetModules(false); // In a simple project with only one module, the module at index // 0 will be the module containing these classes. Module myModule = moduleArray[0]; Type[] tArray; tArray = myModule.FindTypes(Module.FilterTypeName, "My*"); foreach(Type t in tArray) { Console.WriteLine("Found a module beginning with My*: {0}.", t.Name); } } } class MySecondClass { } // This class does not fit the filter criteria My*. class YourClass { } }
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.