Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo Module.FindTypes

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

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

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

Parametri

filter
Tipo: System.Reflection.TypeFilter
Delegato utilizzato per filtrare le classi.
filterCriteria
Tipo: System.Object
Oggetto utilizzato per filtrare le classi.

Valore restituito

Tipo: System.Type[]
Matrice di tipo Type contenente le classi accettate dal filtro.

EccezioneCondizione
ReflectionTypeLoadException

Impossibile caricare una o più classi in un modulo.

ReflectionTypeLoadException è un'eccezione di caricamento di classe particolare. La proprietà ReflectionTypeLoadException.Types contiene la matrice delle classi definite nel modulo e caricate. Questa matrice può contenere alcuni valori null. La proprietà ReflectionTypeLoadException.LoaderExceptions è una matrice di eccezioni che rappresentano le eccezioni generate dal caricatore della classe. I vuoti nella matrice delle classi vengono allineati alle eccezioni.

Il delegato fornito da filter viene chiamato per ogni classe del modulo, passando l'oggetto Type che rappresenta la classe insieme al parametro filterCriteria. Se filter restituisce una classe particolare, quest'ultima sarà inclusa nella matrice restituita. Se filter restituisce null, tutte le classi vengono restituite e filterCriteria viene ignorato.

FindTypes non può essere utilizzato per ricercare tipi parametrizzati come matrici.

Nell'esempio seguente viene illustrato il metodo 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

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft