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, 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
- 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.