Assembly.GetType 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í.
Obtiene el objeto Type que representa el tipo especificado.
Sobrecargas
GetType(String, Boolean, Boolean) |
Obtiene el objeto Type con el nombre especificado en la instancia de ensamblado, con la opción de omitir el caso y de producir una excepción si no se encuentra el tipo. |
GetType(String, Boolean) |
Obtiene el objeto Type con el nombre especificado en la instancia de ensamblado y, de manera opcional, produce una excepción si no se encuentra el tipo. |
GetType(String) |
Obtiene el objeto Type con el nombre especificado en la instancia de ensamblado. |
GetType() |
GetType(String, Boolean, Boolean)
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
Obtiene el objeto Type con el nombre especificado en la instancia de ensamblado, con la opción de omitir el caso y de producir una excepción si no se encuentra el tipo.
public:
virtual Type ^ GetType(System::String ^ name, bool throwOnError, bool ignoreCase);
public virtual Type GetType (string name, bool throwOnError, bool ignoreCase);
public virtual Type? GetType (string name, bool throwOnError, bool ignoreCase);
public Type GetType (string name, bool throwOnError, bool ignoreCase);
override this.GetType : string * bool * bool -> Type
Public Overridable Function GetType (name As String, throwOnError As Boolean, ignoreCase As Boolean) As Type
Public Function GetType (name As String, throwOnError As Boolean, ignoreCase As Boolean) As Type
Parámetros
- name
- String
Nombre completo del tipo.
- throwOnError
- Boolean
true
para producir una excepción si no se encuentra el tipo; false
para devolver null
.
- ignoreCase
- Boolean
Es true
para no hacer distinción entre mayúsculas y minúsculas en el nombre del tipo; en caso contrario, es false
.
Devoluciones
Objeto que representa a la clase especificada.
Implementaciones
Excepciones
name
es null
.
throwOnError
es true
y no se puede encontrar el tipo.
name
requiere un ensamblado dependiente que no se pudo encontrar.
name
requiere un ensamblado dependiente que se encontró, pero no se pudo cargar.
o bien
El ensamblado actual se cargó en el contexto de solo reflexión y name
requiere un ensamblado dependiente que no se haya cargado previamente.
typeName
requiere un ensamblado dependiente, pero el archivo no es un ensamblado válido para el entorno de ejecución cargado actualmente.
Comentarios
Este método solo busca en la instancia de ensamblado actual. El name
parámetro incluye el espacio de nombres, pero no el ensamblado. Para buscar otros ensamblados de un tipo, use la sobrecarga del Type.GetType(String) método , que opcionalmente puede incluir un nombre para mostrar de ensamblado como parte del nombre de tipo.
Nota
Si el tipo se ha reenviado a otro ensamblado, este método lo devuelve. Para obtener información sobre el reenvío de tipos, vea Reenvío de tipos en Common Language Runtime.
El throwOnError
parámetro solo afecta a lo que sucede cuando no se encuentra el tipo. No afecta a ninguna otra excepción que se pueda producir. En concreto, si se encuentra el tipo pero no se puede cargar, TypeLoadException se puede producir incluso si throwOnError
es false
.
Se aplica a
GetType(String, Boolean)
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
Obtiene el objeto Type con el nombre especificado en la instancia de ensamblado y, de manera opcional, produce una excepción si no se encuentra el tipo.
public:
virtual Type ^ GetType(System::String ^ name, bool throwOnError);
public virtual Type? GetType (string name, bool throwOnError);
public virtual Type GetType (string name, bool throwOnError);
override this.GetType : string * bool -> Type
Public Overridable Function GetType (name As String, throwOnError As Boolean) As Type
Parámetros
- name
- String
Nombre completo del tipo.
- throwOnError
- Boolean
true
para producir una excepción si no se encuentra el tipo; false
para devolver null
.
Devoluciones
Objeto que representa a la clase especificada.
Implementaciones
Excepciones
name
es null
.
throwOnError
es true
y no se puede encontrar el tipo.
name
requiere un ensamblado dependiente que no se pudo encontrar.
name
requiere un ensamblado dependiente que se encontró, pero no se pudo cargar.
o bien
El ensamblado actual se cargó en el contexto de solo reflexión y name
requiere un ensamblado dependiente que no se haya cargado previamente.
typeName
requiere un ensamblado dependiente, pero el archivo no es un ensamblado válido para el entorno de ejecución cargado actualmente.
Comentarios
Este método solo busca en la instancia de ensamblado actual. El name
parámetro incluye el espacio de nombres, pero no el ensamblado. Para buscar otros ensamblados de un tipo, use la sobrecarga del Type.GetType(String) método , que opcionalmente puede incluir un nombre para mostrar de ensamblado como parte del nombre de tipo.
Nota
Si el tipo se ha reenviado a otro ensamblado, este método lo devuelve. Para obtener información sobre el reenvío de tipos, vea Reenvío de tipos en Common Language Runtime.
El throwOnError
parámetro solo afecta a lo que sucede cuando no se encuentra el tipo. No afecta a ninguna otra excepción que se pueda producir. En concreto, si se encuentra el tipo pero no se puede cargar, TypeLoadException se puede producir incluso si throwOnError
es false
.
Se aplica a
GetType(String)
- Source:
- Assembly.cs
- Source:
- Assembly.cs
- Source:
- Assembly.cs
Obtiene el objeto Type con el nombre especificado en la instancia de ensamblado.
public:
virtual Type ^ GetType(System::String ^ name);
public virtual Type GetType (string name);
public virtual Type? GetType (string name);
override this.GetType : string -> Type
Public Overridable Function GetType (name As String) As Type
Parámetros
- name
- String
Nombre completo del tipo.
Devoluciones
Objeto que representa la clase especificada, o null
si no se encuentra la clase.
Implementaciones
Excepciones
name
no es válido.
name
es null
.
name
requiere un ensamblado dependiente que no se pudo encontrar.
name
requiere un ensamblado dependiente que se encontró, pero no se pudo cargar.
o bien
El ensamblado actual se cargó en el contexto de solo reflexión y name
requiere un ensamblado dependiente que no se haya cargado previamente.
Nota: En .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable, capture la excepción de clase base, IOException, en su lugar.
typeName
requiere un ensamblado dependiente, pero el archivo no es un ensamblado válido para el entorno de ejecución cargado actualmente.
Ejemplos
En el ejemplo siguiente se define una clase abstracta MeansOfTransportation
en el Transportation
espacio de nombres . Llama al GetType(String) método para recuperar su Type objeto, llama al Type.GetProperties método para obtener una matriz de PropertyInfo objetos que representan las propiedades del tipo y, a continuación, muestra información sobre las propiedades abstractas del tipo. Tenga en cuenta que la llamada al GetType(String) método usa el nombre completo del tipo (es decir, su espacio de nombres junto con su nombre de tipo).
using System;
using System.Reflection;
public class Example
{
public static void Main()
{
Assembly assem = typeof(Example).Assembly;
Type t = assem.GetType("Transportation.MeansOfTransportation");
if (t != null)
{
Console.WriteLine($"Virtual properties in type {t.FullName}:");
PropertyInfo[] props = t.GetProperties();
int nVirtual = 0;
for (int ctr = 0; ctr < props.Length; ctr++)
{
if (props[ctr].GetMethod.IsVirtual)
{
Console.WriteLine($" {props[ctr].Name} (type {props[ctr].PropertyType.FullName})");
nVirtual++;
}
}
if (nVirtual == 0)
Console.WriteLine(" No virtual properties");
}
}
}
namespace Transportation
{
public abstract class MeansOfTransportation
{
abstract public bool HasWheels { get; set; }
abstract public int Wheels { get; set; }
abstract public bool ConsumesFuel { get; set; }
abstract public bool Living { get; set; }
}
}
// The example displays the following output:
// Virtual properties in type Transportation.MeansOfTransportation:
// HasWheels (type System.Boolean)
// Wheels (type System.Int32)
// ConsumesFuel (type System.Boolean)
// Living (type System.Boolean)
Imports System.Reflection
Module Example
Public Sub Main()
Dim assem As Assembly = GetType(Example).Assembly
Dim t As Type = assem.GetType("Transportation.MeansOfTransportation")
If Not t Is Nothing Then
Console.WriteLine("Virtual properties in type {0}:",
t.FullName)
Dim props() As PropertyInfo = t.GetProperties()
Dim nVirtual As Integer = 0
For ctr As Integer = 0 To props.Length - 1
If props(ctr).GetMethod.IsVirtual Then
Console.WriteLine(" {0} (type {1})",
props(ctr).Name,
props(ctr).PropertyType.FullName)
nVirtual += 1
End If
Next
If nVirtual = 0 Then
Console.WriteLine(" No virtual properties")
End If
End If
End Sub
End Module
Namespace Transportation
Public MustInherit Class MeansOfTransportation
Public MustOverride Property HasWheels As Boolean
Public MustOverride Property Wheels As Integer
Public MustOverride Property ConsumesFuel As Boolean
Public MustOverride Property Living As Boolean
End Class
End Namespace
' The example displays the following output:
' Virtual properties in type Transportation.MeansOfTransportation:
' HasWheels (type System.Boolean)
' Wheels (type System.Int32)
' ConsumesFuel (type System.Boolean)
' Living (type System.Boolean)
Comentarios
Este método solo busca en la instancia de ensamblado actual. El name
parámetro incluye el espacio de nombres, pero no el ensamblado. Para buscar otros ensamblados de un tipo, use la sobrecarga del Type.GetType(String) método , que opcionalmente puede incluir un nombre para mostrar de ensamblado como parte del nombre de tipo.
Nota
Si el tipo se ha reenviado a otro ensamblado, este método lo devuelve. Para obtener información sobre el reenvío de tipos, vea Reenvío de tipos en Common Language Runtime.