Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Module.FindTypes (TypeFilter, Object)

 

Restituisce una matrice di classi accettate dal filtro specificato e dai criteri di filtro.

Spazio dei nomi:   System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

public virtual Type[] FindTypes(
	TypeFilter filter,
	object filterCriteria
)

Parametri

filter
Type: System.Reflection.TypeFilter

Delegato usato per filtrare le classi.

filterCriteria
Type: System.Object

Oggetto usato per filtrare le classi.

Valore restituito

Type: System.Type[]

Matrice di tipo Type contenente le classi accettate dal filtro.

Exception Condition
ReflectionTypeLoadException

Non è stato possibile caricare una o più classi in un modulo.

ReflectionTypeLoadExceptionè un'eccezione di caricamento di classe speciale. Il ReflectionTypeLoadException.Types proprietà contiene la matrice di classi che sono stati definiti nel modulo e caricati. Questa matrice può contenere alcuni valori null. Il ReflectionTypeLoadException.LoaderExceptions proprietà è una matrice di eccezioni che rappresentano le eccezioni generate dal caricatore di classe. Allineare i fori nella matrice di classe con le eccezioni.

Il delegato fornito da filter viene chiamato per ogni classe del modulo, passando il Type oggetto che rappresenta la classe, nonché determinato filterCriteria. Se filter restituisce una determinata classe, classe verrà inclusi nella matrice restituita. Se filter restituisce null, vengono restituite tutte le classi e filterCriteria viene ignorato.

FindTypesnon può essere utilizzata per cercare i tipi con parametri, ad esempio matrici.

Nell'esempio seguente viene illustrato il FindTypes metodo.

using System;
using System.Reflection;

namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;

            moduleArray = typeof(MyMainClass).Assembly.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
Disponibile da 1.1
Torna all'inizio
Mostra: