Compartir a través de


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.

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

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

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.

Se aplica a

GetType()

public:
 virtual Type ^ GetType();
public Type GetType ();
override this.GetType : unit -> Type
Public Function GetType () As Type

Devoluciones

Implementaciones

Se aplica a