Assembly.GetType Método

Definición

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.

C#
public virtual Type GetType (string name, bool throwOnError, bool ignoreCase);
C#
public virtual Type? GetType (string name, bool throwOnError, bool ignoreCase);
C#
public Type GetType (string name, bool throwOnError, bool ignoreCase);

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 no es válido.

o bien

La longitud de name supera los 1024 caracteres.

name es null.

throwOnError es truey 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

.NET 9 otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public virtual Type? GetType (string name, bool throwOnError);
C#
public virtual Type GetType (string name, bool throwOnError);

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 no es válido.

o bien

La longitud de name supera los 1024 caracteres.

name es null.

throwOnError es truey 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

.NET 9 otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.5, 1.6, 2.0, 2.1

GetType(String)

Source:
Assembly.cs
Source:
Assembly.cs
Source:
Assembly.cs

Obtiene el objeto Type con el nombre especificado en la instancia de ensamblado.

C#
public virtual Type GetType (string name);
C#
public virtual Type? GetType (string name);

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).

C#
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)

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.

Se aplica a

.NET 9 otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

GetType()

C#
public Type GetType ();

Devoluciones

Implementaciones

Se aplica a

.NET Framework 1.1
Producto Versiones
.NET Framework 1.1