Exporter (0) Imprimer
Développer tout

Module.FindTypes, méthode

Mise à jour : novembre 2007

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
)
public Type[] FindTypes(
	TypeFilter filter,
	Object filterCriteria
)
public function FindTypes(
	filter : TypeFilter, 
	filterCriteria : Object
) : Type[]

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


package ReflectionModule_Examples;

import System.*;
import System.Reflection.*;

class MyMainClass
{

    public static void main(String[] args)
    {
        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 = (Module)moduleArray.get_Item(0);
        Type tArray[];
        tArray = myModule.FindTypes(Module.FilterTypeName, "My*");
        for (int iCtr = 0; iCtr < tArray.length; iCtr++) {
            Type t = tArray[iCtr];
            Console.WriteLine("Found a module beginning with My*: {0}.",
                t.get_Name());
        }
    } //main
} //MyMainClass

class MySecondClass
{
} //MySecondClass

// This class does not fit the filter criteria My*.
class YourClass
{
} //YourClass


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

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

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

Ajouts de la communauté

AJOUTER
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,
Afficher:
© 2015 Microsoft