Module.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í.
Devuelve el tipo especificado.
Sobrecargas
| Nombre | Description |
|---|---|
| GetType(String) |
Devuelve el tipo especificado, realizando una búsqueda con distinción entre mayúsculas y minúsculas. |
| GetType(String, Boolean) |
Devuelve el tipo especificado, buscando en el módulo con la distinción de mayúsculas y minúsculas especificada. |
| GetType(String, Boolean, Boolean) |
Devuelve el tipo especificado, especificando si se va a realizar una búsqueda con distinción entre mayúsculas y minúsculas del módulo y si se debe producir una excepción si no se encuentra el tipo. |
GetType(String)
Devuelve el tipo especificado, realizando una búsqueda con distinción entre mayúsculas y minúsculas.
public:
virtual Type ^ GetType(System::String ^ className);
public virtual Type GetType(string className);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className);
override this.GetType : string -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string -> Type
Public Overridable Function GetType (className As String) As Type
Parámetros
- className
- String
Nombre del tipo que se va a buscar. El nombre debe estar completo con el espacio de nombres .
Devoluciones
Objeto Type que representa el tipo especificado, si el tipo está en este módulo; de lo contrario, nulles .
- Atributos
Excepciones
className es null.
Se invocan los inicializadores de clase y se produce una excepción.
className es una cadena de longitud cero.
className requiere un ensamblado dependiente que no se pudo encontrar.
className 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 className requiere un ensamblado dependiente que no se haya cargado previamente.
className requiere un ensamblado dependiente, pero el archivo no es un ensamblado válido.
O bien
className requiere un ensamblado dependiente que se compiló para una versión del entorno de ejecución posterior a la versión cargada actualmente.
Ejemplos
En el ejemplo siguiente se muestra el nombre de un tipo en el módulo especificado.
using System;
using System.Reflection;
namespace ReflectionModule_Examples
{
class MyMainClass
{
static void Main()
{
Module[] moduleArray;
moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
//In a simple project with only one module, the module at index
// 0 will be the module containing these classes.
Module myModule = moduleArray[0];
Type myType;
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass");
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
Class MyMainClass
Shared Sub Main()
Dim moduleArray() As [Module]
moduleArray = GetType(MyMainClass).Assembly.GetModules(False)
'In a simple project with only one module, the module at index
' 0 will be the module containing these classes.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass")
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Comentarios
Note
Si el tipo se ha reenviado a otro ensamblado, este método todavía lo devuelve. Para obtener información sobre el reenvío de tipos, consulte Reenvío de tipos en Common Language Runtime.
Un tipo se puede recuperar de un módulo específico mediante Module.GetType. Al llamar Module.GetType al módulo que contiene el manifiesto, no se buscará en todo el ensamblado. Para recuperar un tipo de un ensamblado, independientemente del módulo en el que se encuentra, debe llamar a Assembly.GetType.
Se aplica a
GetType(String, Boolean)
Devuelve el tipo especificado, buscando en el módulo con la distinción de mayúsculas y minúsculas especificada.
public:
virtual Type ^ GetType(System::String ^ className, bool ignoreCase);
public virtual Type GetType(string className, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className, bool ignoreCase);
override this.GetType : string * bool -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string * bool -> Type
Public Overridable Function GetType (className As String, ignoreCase As Boolean) As Type
Parámetros
- className
- String
Nombre del tipo que se va a buscar. El nombre debe estar completo con el espacio de nombres .
- ignoreCase
- Boolean
true para la búsqueda sin distinción entre mayúsculas y minúsculas; de lo contrario, false.
Devoluciones
Objeto Type que representa el tipo especificado, si el tipo está en este módulo; de lo contrario, nulles .
- Atributos
Excepciones
className es null.
Se invocan los inicializadores de clase y se produce una excepción.
className es una cadena de longitud cero.
className requiere un ensamblado dependiente que no se pudo encontrar.
className 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 className requiere un ensamblado dependiente que no se haya cargado previamente.
className requiere un ensamblado dependiente, pero el archivo no es un ensamblado válido.
O bien
className requiere un ensamblado dependiente que se compiló para una versión del entorno de ejecución posterior a la versión cargada actualmente.
Ejemplos
En el ejemplo siguiente se muestra el nombre de un tipo en el módulo especificado, especificando false para el ignoreCase parámetro para que no se omita ese caso.
using System;
using System.Reflection;
namespace ReflectionModule_Examples
{
class MyMainClass
{
static void Main()
{
Module[] moduleArray;
moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
//In a simple project with only one module, the module at index
// 0 will be the module containing these classes.
Module myModule = moduleArray[0];
Type myType;
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", false);
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
Class MyMainClass
Shared Sub Main()
Dim moduleArray() As [Module]
moduleArray = GetType(MyMainClass).Assembly.GetModules(False)
'In a simple project with only one module, the module at index
' 0 will be the module containing these classes.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", False)
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Comentarios
Note
Si el tipo se ha reenviado a otro ensamblado, este método todavía lo devuelve. Para obtener información sobre el reenvío de tipos, consulte Reenvío de tipos en Common Language Runtime.
Un tipo se puede recuperar de un módulo específico mediante Module.GetType. Al llamar Module.GetType al módulo que contiene el manifiesto, no se buscará en todo el ensamblado. Para recuperar un tipo de un ensamblado, independientemente del módulo en el que se encuentra, debe llamar a Assembly.GetType.
Se aplica a
GetType(String, Boolean, Boolean)
Devuelve el tipo especificado, especificando si se va a realizar una búsqueda con distinción entre mayúsculas y minúsculas del módulo y si se debe producir una excepción si no se encuentra el tipo.
public:
virtual Type ^ GetType(System::String ^ className, bool throwOnError, bool ignoreCase);
public virtual Type GetType(string className, bool throwOnError, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className, bool throwOnError, bool ignoreCase);
override this.GetType : string * bool * bool -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string * bool * bool -> Type
Public Overridable Function GetType (className As String, throwOnError As Boolean, ignoreCase As Boolean) As Type
Parámetros
- className
- String
Nombre del tipo que se va a buscar. El nombre debe estar completo con el espacio de nombres .
- throwOnError
- Boolean
true para producir una excepción si no se encuentra el tipo; false para devolver null.
- ignoreCase
- Boolean
true para la búsqueda sin distinción entre mayúsculas y minúsculas; de lo contrario, false.
Devoluciones
Objeto Type que representa el tipo especificado, si el tipo se declara en este módulo; en caso contrario, nulles .
- Atributos
Excepciones
className es null.
Se invocan los inicializadores de clase y se produce una excepción.
className es una cadena de longitud cero.
throwOnError es truey no se encuentra el tipo.
className requiere un ensamblado dependiente que no se pudo encontrar.
className 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 className requiere un ensamblado dependiente que no se haya cargado previamente.
className requiere un ensamblado dependiente, pero el archivo no es un ensamblado válido.
O bien
className requiere un ensamblado dependiente que se compiló para una versión del entorno de ejecución posterior a la versión cargada actualmente.
Ejemplos
En el ejemplo siguiente se muestra el nombre de un tipo en el módulo especificado. Los throwOnError parámetros y ignoreCase se especifican como false.
using System;
using System.Reflection;
namespace ReflectionModule_Examples
{
class MyMainClass
{
static void Main()
{
Module[] moduleArray;
moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
//In a simple project with only one module, the module at index
// 0 will be the module containing this class.
Module myModule = moduleArray[0];
Type myType;
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", false, false);
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
Class MyMainClass
Shared Sub Main()
Dim moduleArray() As [Module]
moduleArray = GetType(MyMainClass).Assembly.GetModules(False)
'In a simple project with only one module, the module at index
' 0 will be the module containing this class.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", False, False)
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Comentarios
El throwOnError parámetro afecta solo 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.
Note
Si el tipo se ha reenviado a otro ensamblado, este método todavía lo devuelve. Para obtener información sobre el reenvío de tipos, consulte Reenvío de tipos en Common Language Runtime.
Un tipo se puede recuperar de un módulo específico mediante Module.GetType. Al llamar Module.GetType al módulo que contiene el manifiesto, no se buscará en todo el ensamblado. Para recuperar un tipo de un ensamblado, independientemente del módulo en el que se encuentra, debe llamar a Assembly.GetType.