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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Module.FindTypes, méthode

Retourne un tableau des classes acceptées par le filtre et les critères de filtre donnés.

Espace de noms :  System.Reflection
Assembly :  mscorlib (dans mscorlib.dll)
public virtual Type[] FindTypes(
	TypeFilter filter,
	Object filterCriteria
)

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
    {
    }
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

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.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,