Partilhar via


Type.ReflectionOnlyGetType(String, Boolean, Boolean) Método

Definição

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

typeName
String

O nome qualificado pelo assembly do Type a ser obtido.

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.

Aplica-se a

Confira também