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

Definición

Obtiene el objeto Type con el nombre indicado, que especifica si se va a realizar una búsqueda donde se distingue entre mayúsculas y minúsculas y si se va a producir una excepción en caso de que no se encuentre el tipo.Gets the Type with the specified name, specifying whether to perform a case-sensitive search and whether to throw an exception if the type is not found. Se carga el tipo solo para reflexión, no para ejecución.The type is loaded for reflection only, not for execution.

public:
 static Type ^ ReflectionOnlyGetType(System::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);
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

Nombre calificado con el ensamblado del Type que se va a obtener.The assembly-qualified name of the Type to get.

throwIfNotFound
Boolean

true para iniciar una excepción TypeLoadException si no se puede encontrar el tipo; false para devolver null si el tipo no se puede encontrar.true to throw a TypeLoadException if the type cannot be found; false to return null if the type cannot be found. Si se especifica false se suprimen otras condiciones de excepción, pero no todas.Specifying false also suppresses some other exception conditions, but not all of them. Vea la sección Excepciones.See the Exceptions section.

ignoreCase
Boolean

true para realizar una búsqueda de typeName que no distinga entre mayúsculas y minúsculas; false para realizar una búsqueda de typeName que distinga entre mayúsculas y minúsculas.true to perform a case-insensitive search for typeName; false to perform a case-sensitive search for typeName.

Devoluciones

Type

Tipo con el nombre especificado, si se encuentra; de lo contrario null.The type with the specified name, if found; otherwise, null. Si el tipo no se encuentra, el parámetro throwIfNotFound especifica si se devuelve null o se produce una excepción.If the type is not found, the throwIfNotFound parameter specifies whether null is returned or an exception is thrown. En algunos casos, se produce una excepción con independencia del valor de throwIfNotFound.In some cases, an exception is thrown regardless of the value of throwIfNotFound. Vea la sección Excepciones.See the Exceptions section.

Excepciones

El valor de typeName es null.typeName is null.

Se invoca un inicializador de clase y genera una excepción.A class initializer is invoked and throws an exception.

throwIfNotFound es true y no se encuentra el tipo.throwIfNotFound is true and the type is not found.

O bien-or- throwIfNotFound es true y typeName contiene caracteres no válidos, como una pestaña insertada.throwIfNotFound is true and typeName contains invalid characters, such as an embedded tab. O bien-or- throwIfNotFound es true y typeName es una cadena vacía.throwIfNotFound is true and typeName is an empty string.

O bien-or- throwIfNotFound es true y typeName representa un tipo de matriz con un tamaño no válido.throwIfNotFound is true and typeName represents an array type with an invalid size.

O bien-or- typeName representa una matriz de objetos TypedReference.typeName represents an array of TypedReference objects.

typeName no incluye el nombre del ensamblado.typeName does not include the assembly name.

O bien-or- throwIfNotFound es true y typeName contiene sintaxis no válida; por ejemplo, "MyType[,*,]".throwIfNotFound is true and typeName contains invalid syntax; for example, "MyType[,*,]".

O bien-or- typeName representa un tipo genérico que tiene un tipo de puntero, un tipo ByRef o Void como uno de sus argumentos de tipo.typeName represents a generic type that has a pointer type, a ByRef type, or Void as one of its type arguments.

O bien-or- typeName representa un tipo genérico que tiene un número incorrecto de argumentos de tipo.typeName represents a generic type that has an incorrect number of type arguments.

O bien-or- typeName representa un tipo genérico y uno de sus argumentos de tipo no satisface las restricciones del parámetro de tipo correspondiente.typeName represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter.

throwIfNotFound es true y no se encontró el ensamblado o alguna de sus dependencias.throwIfNotFound is true and the assembly or one of its dependencies was not found.

Se encontró el ensamblado o una de sus dependencias, pero no se pudo cargar.The assembly or one of its dependencies was found, but could not be loaded.

El ensamblado o alguna de sus dependencias no son válidos.The assembly or one of its dependencies is not valid.

O bien-or-

El ensamblado se compiló con una versión de Common Language Runtime posterior a la versión que está cargada actualmente.The assembly was compiled with a later version of the common language runtime than the version that is currently loaded.

Solo .NET Core: este miembro no se admite..NET Core only: This member is not supported.

Comentarios

Si el ensamblado que contiene el tipo todavía no está cargado en el contexto de solo reflexión, el uso del ReflectionOnlyGetType método equivale a cargar primero el ensamblado solo para la reflexión, utilizando el ReflectionOnlyLoad método y, a continuación, cargando el tipo llamando al método del ensamblado Assembly.GetType .If the assembly containing the type is not already loaded into the reflection-only context, using the ReflectionOnlyGetType method is equivalent to first loading the assembly for reflection only, using the ReflectionOnlyLoad method, and then loading the type by calling the assembly's Assembly.GetType method. Para obtener información sobre los nombres calificados con el ensamblado, vea la Type.AssemblyQualifiedName propiedad.For information about assembly-qualified names, see the Type.AssemblyQualifiedName property. Para obtener más información sobre cómo especificar los nombres de tipo, vea la GetType(String, Boolean, Boolean) sobrecarga del método.For additional details on specifying type names, see the GetType(String, Boolean, Boolean) method overload.

Si el ensamblado ya está cargado para ejecutarse, se carga otra copia en el contexto de solo reflexión.If the assembly is already loaded for execution, another copy is loaded into the reflection-only context.

El throwIfNotFound parámetro especifica lo que ocurre cuando no se encuentra el tipo y también suprime algunas otras condiciones de excepción, tal y como se describe en la sección excepciones.The throwIfNotFound parameter specifies what happens when the type is not found, and also suppresses certain other exception conditions, as described in the Exceptions section. Algunas excepciones se producen independientemente del valor de throwIfNotFound .Some exceptions are thrown regardless of the value of throwIfNotFound. Por ejemplo, si el ensamblado no es válido, BadImageFormatException se produce una excepción aunque throwIfNotFound sea false .For example, if the assembly is not valid, a BadImageFormatException is thrown even if throwIfNotFound is false.

Para obtener más información sobre cómo usar el contexto de solo reflexión, consulte Cómo: cargar ensamblados en el contexto de Reflection-Only.For more information about using the reflection-only context, see How to: Load Assemblies into the Reflection-Only Context.

Se aplica a

Consulte también