Type.ReflectionOnlyGetType(String, Boolean, Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
ReflectionOnly loading is not supported and throws PlatformNotSupportedException.
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. Se carga el tipo solo para reflexión, no para ejecución.
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 iniciar una excepción TypeLoadException si no se puede encontrar el tipo; false
para devolver null
si el tipo no se puede encontrar. Si se especifica false
se suprimen otras condiciones de excepción, pero no todas. Vea la sección Excepciones.
- 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.
Devoluciones
Tipo con el nombre especificado, si se encuentra; de lo contrario null
. Si el tipo no se encuentra, el parámetro throwIfNotFound
especifica si se devuelve null
o se produce una excepción. En algunos casos, se produce una excepción con independencia del valor de throwIfNotFound
. Vea la sección Excepciones.
- Atributos
Excepciones
typeName
es null
.
Se invoca un inicializador de clase y genera una excepción.
throwIfNotFound
es true
y no se encuentra el tipo.
O bien
throwIfNotFound
es true
y typeName
contiene caracteres no válidos, como una pestaña insertada.
O bien
throwIfNotFound
es true
y typeName
es una cadena vacía.
O bien
throwIfNotFound
es true
y typeName
representa un tipo de matriz con un tamaño no válido.
O bien
typeName
representa una matriz de objetos TypedReference.
typeName
no incluye el nombre del ensamblado.
O bien
throwIfNotFound
es true
y typeName
contiene sintaxis no válida; por ejemplo, "MyType[,*,]".
O bien
typeName
representa un tipo genérico que tiene un tipo de puntero, un tipo ByRef
o Void como uno de sus argumentos de tipo.
O bien
typeName
representa un tipo genérico que tiene un número incorrecto de argumentos de tipo.
O bien
typeName
representa un tipo genérico y uno de sus argumentos de tipo no satisface las restricciones del parámetro de tipo correspondiente.
throwIfNotFound
es true
y no se encontró el ensamblado o alguna de sus dependencias.
Se encontró el ensamblado o una de sus dependencias, pero no se pudo cargar.
El ensamblado o una de sus dependencias no es un ensamblado válido para el tiempo de ejecución cargado actualmente.
.NET Core y .NET 5+ solo: En todos los casos.
Comentarios
Si el ensamblado que contiene el tipo aún no se carga en el contexto de solo reflexión, el uso del ReflectionOnlyGetType método equivale a cargar primero el ensamblado para la reflexión, usando el ReflectionOnlyLoad método y, a continuación, cargando el tipo llamando al método del Assembly.GetType ensamblado. Para obtener información sobre los nombres calificados para ensamblados, vea la Type.AssemblyQualifiedName propiedad . Para obtener más información sobre cómo especificar nombres de tipo, consulte la sobrecarga del GetType(String, Boolean, Boolean) método.
Si el ensamblado ya está cargado para su ejecución, se carga otra copia en el contexto de solo reflexión.
El throwIfNotFound
parámetro especifica lo que sucede cuando no se encuentra el tipo y también suprime ciertas otras condiciones de excepción, como se describe en la sección Excepciones. Algunas excepciones se inician independientemente del valor de throwIfNotFound
. Por ejemplo, si el ensamblado no es válido, se produce una BadImageFormatException excepción aunque throwIfNotFound
sea false
.
Para obtener más información sobre el uso del contexto de solo reflexión, vea Cómo: Cargar ensamblados en el contexto de Reflection-Only.