Type.ReflectionOnlyGetType(String, Boolean, Boolean) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Attenzione
ReflectionOnly loading is not supported and throws PlatformNotSupportedException.
Ottiene l'oggetto Type con il nome specificato, specificando se eseguire una ricerca con distinzione tra maiuscole e minuscole e se generare un'eccezione se il tipo non viene trovato. Il tipo viene caricato solo per la reflection, non per l'esecuzione.
public:
static Type ^ ReflectionOnlyGetType(System::String ^ typeName, bool throwIfNotFound, bool ignoreCase);
[System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static Type? ReflectionOnlyGetType(string typeName, bool throwIfNotFound, bool ignoreCase);
public static Type? ReflectionOnlyGetType(string typeName, bool throwIfNotFound, bool ignoreCase);
public static Type ReflectionOnlyGetType(string typeName, bool throwIfNotFound, bool ignoreCase);
[<System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ReflectionOnlyGetType : string * bool * bool -> Type
static member ReflectionOnlyGetType : string * bool * bool -> Type
Public Shared Function ReflectionOnlyGetType (typeName As String, throwIfNotFound As Boolean, ignoreCase As Boolean) As Type
Parametri
- throwIfNotFound
- Boolean
true per generare un TypeLoadException oggetto se non è possibile trovare il tipo; false per restituire null se non è possibile trovare il tipo. Specificando false vengono eliminate anche alcune altre condizioni di eccezione, ma non tutte. Vedere la sezione Eccezioni.
- ignoreCase
- Boolean
true per eseguire una ricerca senza distinzione tra maiuscole e minuscole per typeName, false per eseguire una ricerca con distinzione tra maiuscole e minuscole per typeName.
Restituisce
Tipo con il nome specificato, se trovato; in caso contrario, null. Se il tipo non viene trovato, il throwIfNotFound parametro specifica se null viene restituito o se viene generata un'eccezione. In alcuni casi, viene generata un'eccezione indipendentemente dal valore di throwIfNotFound. Vedere la sezione Eccezioni.
- Attributi
Eccezioni
typeName è null.
Un inizializzatore di classe viene richiamato e genera un'eccezione.
throwIfNotFound è true e il tipo non viene trovato.
oppure
throwIfNotFound è true e typeName contiene caratteri non validi, ad esempio una scheda incorporata.
oppure
throwIfNotFoundè e typeName è true una stringa vuota.
oppure
throwIfNotFound è true e typeName rappresenta un tipo di matrice con una dimensione non valida.
oppure
typeName rappresenta una matrice di TypedReference oggetti.
typeName non include il nome dell'assembly.
oppure
throwIfNotFound è true e typeName contiene una sintassi non valida, ad esempio "MyType[,*,]".
oppure
typeName rappresenta un tipo generico con un tipo di puntatore, un ByRef tipo o Void come uno dei relativi argomenti di tipo.
oppure
typeName rappresenta un tipo generico con 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.
throwIfNotFound è true e l'assembly o una delle relative dipendenze non è stata trovata.
Impossibile caricare l'assembly o una delle relative dipendenze.
L'assembly o una delle relative dipendenze non è un assembly valido per il runtime attualmente caricato.
Solo .NET Core e .NET 5+: in tutti i casi.
Commenti
Se l'assembly contenente il tipo non è già stato caricato nel contesto di sola reflection, l'utilizzo del ReflectionOnlyGetType metodo equivale al caricamento dell'assembly solo per la reflection, utilizzando il ReflectionOnlyLoad metodo e quindi caricando il tipo chiamando il metodo dell'assembly Assembly.GetType . Per informazioni sui nomi qualificati dall'assembly, vedere la Type.AssemblyQualifiedName proprietà . Per altri dettagli sulla specifica dei nomi dei tipi, vedere l'overload del GetType(String, Boolean, Boolean) metodo.
Se l'assembly è già caricato per l'esecuzione, un'altra copia viene caricata nel contesto di sola reflection.
Il throwIfNotFound parametro specifica cosa accade quando il tipo non viene trovato e elimina anche determinate altre condizioni di eccezione, come descritto nella sezione Eccezioni. Alcune eccezioni vengono generate indipendentemente dal valore di throwIfNotFound. Ad esempio, se l'assembly non è valido, viene generata un'eccezione BadImageFormatException anche se throwIfNotFound è false.
Per altre informazioni sull'uso del contesto di sola reflection, vedere Procedura: Caricare assembly nel contesto di Reflection-Only.