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 Type.GetType (String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Ottiene il tipo con il nome specificato, indicando se generare un'eccezione se il tipo non viene trovato e fornendo facoltativamente metodi personalizzati per risolvere l'assembly e il tipo.

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

public static Type GetType(
	string typeName,
	Func<AssemblyName, Assembly> assemblyResolver,
	Func<Assembly, string, bool, Type> typeResolver,
	bool throwOnError
)

Parametri

typeName
Type: System.String

Nome del tipo da ottenere. Se viene fornito il parametro typeResolver, il nome del tipo può essere qualsiasi stringa che typeResolver è in grado di risolvere. Se viene fornito il parametro assemblyResolver o se viene usata la risoluzione del tipo standard, typeName deve essere un nome qualificato dall'assembly (vedere AssemblyQualifiedName), a meno che il tipo non si trovi nell'assembly attualmente in esecuzione o in Mscorlib.dll, nel qual caso è sufficiente fornire il nome del tipo completo di spazio dei nomi.

assemblyResolver
Type: System.Func<AssemblyName, Assembly>

Metodo che individua e restituisce l'assembly specificato in typeName. Il nome dell'assembly viene passato a assemblyResolver come oggetto AssemblyName. Se typeName non contiene il nome di un assembly, assemblyResolver non viene chiamato. Se assemblyResolver non viene fornito, viene eseguita la risoluzione dell'assembly standard.

Attenzione   Non passare metodi da chiamanti non noti o non attendibili. In caso contrario, potrebbe verificarsi un'elevazione di privilegi per codice dannoso. Usare solo i metodi forniti o con cui si ha dimestichezza.

typeResolver
Type: System.Func<Assembly, String, Boolean, Type>

Metodo che individua e restituisce il tipo specificato da typeName dall'assembly restituito da assemblyResolver o dalla risoluzione dell'assembly standard. Se non viene fornito alcun assembly, il metodo può fornirne uno. Il metodo accetta inoltre un parametro che specifica se eseguire una ricerca senza fare distinzione tra maiuscole e minuscole. false viene passato al parametro.

Attenzione   Non passare metodi da chiamanti non noti o non attendibili.

throwOnError
Type: System.Boolean

true per generare un'eccezione se non è possibile trovare il tipo; false per restituire null. Se si specifica false vengono eliminate alcune condizioni di eccezione, ma non tutte. Vedere la sezione relativa alle eccezioni.

Valore restituito

Type: System.Type

Tipo con il nome specificato. Se il tipo non viene trovato, il parametro throwOnError specifica se viene restituito null o se viene generata un'eccezione. In alcuni casi, viene generata un'eccezione indipendentemente dal valore di throwOnError. Vedere la sezione relativa alle eccezioni.

Exception Condition
ArgumentNullException

typeName è null.

TargetInvocationException

Viene richiamato un inizializzatore di classi e viene generata un'eccezione.

TypeLoadException

throwOnError è true e il tipo non è stato trovato.

-oppure-

throwOnError è true e typeName contiene caratteri non validi, ad esempio una scheda incorporata.

-oppure-

throwOnError è true e typeName è una stringa vuota.

-oppure-

throwOnError è true e typeName rappresenta un tipo di matrice con una dimensione non valida.

-oppure-

typeName rappresenta una matrice di TypedReference.

ArgumentException

Si verifica un errore quando typeName viene analizzato in un nome di tipo e un nome di assembly (ad esempio, quando il nome di tipo semplice include un carattere speciale senza escape).

-oppure-

throwOnError è true e typeName contiene sintassi non valida (ad esempio, "MyType[,*,]").

-oppure-

typeName rappresenta un tipo generico che ha un tipo di puntatore, un tipo ByRef o Void tra i relativi argomenti di tipo.

-oppure-

typeName rappresenta un tipo generico che ha un numero errato di argomenti di tipo.

-oppure-

typeName rappresenta un tipo generico e uno dei relativi argomenti di tipo non soddisfa i vincoli per il parametro di tipo corrispondente.

FileNotFoundException

throwOnError è true e l'assembly o una delle sue dipendenze non è stato trovato.

-oppure-

typeName contiene un nome di assembly non valido.

-oppure-

typeName è un nome di assembly valido senza un nome di tipo.

FileLoadException

L'assembly o una delle relative dipendenze è stato trovato, ma non può essere caricato.

BadImageFormatException

L'assembly o una delle relative dipendenze non è valido.

-oppure-

L'assembly è stato compilato con una versione successiva di Common Language Runtime rispetto alla versione attualmente caricata.

Gli scenari di questo metodo e i dettagli sull'utilizzo di assemblyResolver e typeResolver parametri possono essere trovati nel GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean) overload del metodo.

Chiamare questo overload del metodo corrisponde al chiamante di GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean) overload del metodo e specificando false per il ignoreCase parametro.

.NET Framework
Disponibile da 4.0
Torna all'inizio
Mostra: