Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

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.

ExceptionCondition
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 de code 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.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft