Type.ReflectionOnlyGetType(String, Boolean, Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
ReflectionOnly loading is not supported and throws PlatformNotSupportedException.
Obtém o Type com o nome especificado, especificando se deverá realizar uma pesquisa que diferencia maiúsculas de minúsculas e se deverá gerar uma exceção se o tipo não for encontrado. O tipo é carregado para reflexão apenas, não para execução.
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
Parâmetros
- throwIfNotFound
- Boolean
true
para gerar um TypeLoadException se não for possível encontrar o tipo, false
para retornar null
se não for possível encontrar o tipo. A especificação de false
também suprime algumas condições de exceção, mas não todas. Consulte a seção Exceções.
- ignoreCase
- Boolean
true
para executar uma pesquisa que não diferencia maiúsculas de minúsculas para typeName
, false
para realizar uma pesquisa que diferencia maiúsculas de minúsculas para typeName
.
Retornos
O tipo com o nome especificado, se for encontrado; caso contrário, null
. Caso o tipo não seja encontrado, o parâmetro throwIfNotFound
especifica se null
é retornado ou uma exceção é lançada. Em alguns casos, uma exceção é lançada independentemente do valor de throwIfNotFound
. Consulte a seção Exceções.
- Atributos
Exceções
typeName
é null
.
Um inicializador de classe é invocado e lança uma exceção.
throwIfNotFound
é true
e o tipo não foi encontrado.
- ou -
throwIfNotFound
é true
, e typeName
contém caracteres inválidos, como uma guia inserida.
- ou -
throwIfNotFound
é true
e typeName
é uma cadeia de caracteres vazia.
- ou -
throwIfNotFound
é true
e typeName
representa um tipo de matriz com um tamanho inválido.
- ou -
typeName
representa uma matriz de objetos TypedReference .
typeName
não inclui o nome do assembly.
- ou -
throwIfNotFound
é true
e typeName
contém sintaxe inválida, por exemplo, "MyType[,*,]".
- ou -
typeName
representa um tipo genérico que tenha um tipo de ponteiro, um tipo ByRef
ou Void como um dos argumentos de tipo.
- ou -
typeName
representa um tipo genérico que tem um número incorreto de argumentos de tipo.
- ou -
typeName
representa um tipo genérico e um dos argumentos de tipo não atende às restrições do parâmetro de tipo correspondente.
throwIfNotFound
é true
e o assembly ou uma de suas dependências não foi encontrado.
O assembly ou uma de suas dependências foi encontrado, mas não foi possível carregá-lo.
O assembly ou uma de suas dependências não é um assembly válido para o runtime carregado no momento.
Somente .NET Core e .NET 5+: Em todos os casos.
Comentários
Se o assembly que contém o tipo ainda não estiver carregado no contexto somente reflexão, o uso do ReflectionOnlyGetType método será equivalente a primeiro carregar o assembly somente para reflexão, usando o ReflectionOnlyLoad método e, em seguida, carregar o tipo chamando o método do Assembly.GetType assembly. Para obter informações sobre nomes qualificados para assembly, consulte a Type.AssemblyQualifiedName propriedade . Para obter detalhes adicionais sobre como especificar nomes de tipo, consulte a sobrecarga de GetType(String, Boolean, Boolean) método.
Se o assembly já estiver carregado para execução, outra cópia será carregada no contexto somente reflexão.
O throwIfNotFound
parâmetro especifica o que acontece quando o tipo não é encontrado e também suprime determinadas outras condições de exceção, conforme descrito na seção Exceções. Algumas exceções são geradas independentemente do valor de throwIfNotFound
. Por exemplo, se o assembly não for válido, um BadImageFormatException será gerado mesmo se throwIfNotFound
for false
.
Para obter mais informações sobre como usar o contexto somente reflexão, consulte Como carregar assemblies no contexto de Reflection-Only.