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, indicando se eseguire una ricerca con distinzione tra maiuscole e minuscole e se generare un'eccezione in caso il tipo non venga trovato. Il tipo viene caricato a scopo di reflection, non per l'esecuzione.

public:
 static Type ^ ReflectionOnlyGetType(System::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}")]
public static Type? ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
public static Type ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
static member ReflectionOnlyGetType : string * bool * bool -> Type
[<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
Public Shared Function ReflectionOnlyGetType (typeName As String, throwIfNotFound As Boolean, ignoreCase As Boolean) As Type

Parametri

typeName
String

Nome completo di assembly dell'oggetto Type da ottenere.

throwIfNotFound
Boolean

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

ignoreCase
Boolean

true per eseguire una ricerca di typeName senza distinzione tra maiuscole e minuscole,false per eseguire una ricerca di typeName con distinzione tra maiuscole e minuscole.

Restituisce

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

Attributi

Eccezioni

typeName è null.

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

throwIfNotFound è true e il tipo non è stato trovato.

-oppure-

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

-oppure-

throwIfNotFound è true e typeName è una stringa vuota.

-oppure-

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

-oppure-

typeName rappresenta una matrice di oggetti TypedReference.

typeName non include il nome dell'assembly.

-oppure-

throwIfNotFound è 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.

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

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

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à caricato nel contesto di solo reflection, l'uso del metodo equivale al caricamento dell'assembly solo per la reflection, usando ReflectionOnlyGetTypeReflectionOnlyLoad il metodo e quindi caricando il tipo chiamando il metodo dell'assembly Assembly.GetType . Per informazioni sui nomi qualificati per 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 generato un BadImageFormatException valore 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