Condividi tramite


Type.ReflectionOnlyGetType(String, Boolean, Boolean) Metodo

Definizione

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

typeName
String

Nome completo dell'assembly dell'oggetto Type da ottenere.

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.

Si applica a

Vedi anche