Module.GetType Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna o tipo especificado.
Sobrecargas
| Nome | Description |
|---|---|
| GetType(String) |
Retorna o tipo especificado, executando uma pesquisa que diferencia maiúsculas de minúsculas. |
| GetType(String, Boolean) |
Retorna o tipo especificado, pesquisando o módulo com a confidencialidade de maiúsculas e minúsculas especificada. |
| GetType(String, Boolean, Boolean) |
Retorna o tipo especificado, especificando se uma pesquisa diferencia maiúsculas de minúsculas do módulo e se deseja lançar uma exceção se o tipo não puder ser encontrado. |
GetType(String)
Retorna o tipo especificado, executando uma pesquisa que diferencia maiúsculas de 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
O nome do tipo a ser localizado. O nome deve ser totalmente qualificado com o namespace.
Retornos
Um Type objeto que representa o tipo fornecido, se o tipo estiver neste módulo; caso contrário, null.
- Atributos
Exceções
className é null.
Os inicializadores de classe são invocados e uma exceção é gerada.
className é uma cadeia de caracteres de comprimento zero.
className requer um assembly dependente que não pôde ser encontrado.
className requer um assembly dependente que foi encontrado, mas não pôde ser carregado.
-ou-
O assembly atual foi carregado no contexto somente reflexão e className requer um assembly dependente que não foi pré-carregado.
className requer um assembly dependente, mas o arquivo não é um assembly válido.
-ou-
className requer um assembly dependente que foi compilado para uma versão do runtime posterior à versão carregada no momento.
Exemplos
O exemplo a seguir exibe o nome de um tipo no 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
Comentários
Note
Se o tipo tiver sido encaminhado para outro assembly, ele ainda será retornado por esse método. Para obter informações sobre o encaminhamento de tipos, consulte o Encaminhamento de Tipos no Common Language Runtime.
Um tipo pode ser recuperado de um módulo específico usando Module.GetType. A chamada Module.GetType no módulo que contém o manifesto não pesquisará todo o assembly. Para recuperar um tipo de um assembly, independentemente de qual módulo ele esteja, você deve chamar Assembly.GetType.
Aplica-se a
GetType(String, Boolean)
Retorna o tipo especificado, pesquisando o módulo com a confidencialidade de maiúsculas e 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
O nome do tipo a ser localizado. O nome deve ser totalmente qualificado com o namespace.
- ignoreCase
- Boolean
true para pesquisa que não diferencia maiúsculas de minúsculas; caso contrário, false.
Retornos
Um Type objeto que representa o tipo fornecido, se o tipo estiver neste módulo; caso contrário, null.
- Atributos
Exceções
className é null.
Os inicializadores de classe são invocados e uma exceção é gerada.
className é uma cadeia de caracteres de comprimento zero.
className requer um assembly dependente que não pôde ser encontrado.
className requer um assembly dependente que foi encontrado, mas não pôde ser carregado.
-ou-
O assembly atual foi carregado no contexto somente reflexão e className requer um assembly dependente que não foi pré-carregado.
className requer um assembly dependente, mas o arquivo não é um assembly válido.
-ou-
className requer um assembly dependente que foi compilado para uma versão do runtime posterior à versão carregada no momento.
Exemplos
O exemplo a seguir exibe o nome de um tipo no módulo especificado, especificando false para o ignoreCase parâmetro para que esse caso não seja ignorado.
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
Comentários
Note
Se o tipo tiver sido encaminhado para outro assembly, ele ainda será retornado por esse método. Para obter informações sobre o encaminhamento de tipos, consulte o Encaminhamento de Tipos no Common Language Runtime.
Um tipo pode ser recuperado de um módulo específico usando Module.GetType. A chamada Module.GetType no módulo que contém o manifesto não pesquisará todo o assembly. Para recuperar um tipo de um assembly, independentemente de qual módulo ele esteja, você deve chamar Assembly.GetType.
Aplica-se a
GetType(String, Boolean, Boolean)
Retorna o tipo especificado, especificando se uma pesquisa diferencia maiúsculas de minúsculas do módulo e se deseja lançar uma exceção se o tipo não puder ser encontrado.
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
O nome do tipo a ser localizado. O nome deve ser totalmente qualificado com o namespace.
- throwOnError
- Boolean
true para gerar uma exceção se o tipo não puder ser encontrado; false para retornar null.
- ignoreCase
- Boolean
true para pesquisa que não diferencia maiúsculas de minúsculas; caso contrário, false.
Retornos
Um Type objeto que representa o tipo especificado, se o tipo for declarado neste módulo; caso contrário, null.
- Atributos
Exceções
className é null.
Os inicializadores de classe são invocados e uma exceção é gerada.
className é uma cadeia de caracteres de comprimento zero.
throwOnError é true, e o tipo não pode ser encontrado.
className requer um assembly dependente que não pôde ser encontrado.
className requer um assembly dependente que foi encontrado, mas não pôde ser carregado.
-ou-
O assembly atual foi carregado no contexto somente reflexão e className requer um assembly dependente que não foi pré-carregado.
className requer um assembly dependente, mas o arquivo não é um assembly válido.
-ou-
className requer um assembly dependente que foi compilado para uma versão do runtime posterior à versão carregada no momento.
Exemplos
O exemplo a seguir exibe o nome de um tipo no módulo especificado. Os throwOnError parâmetros e os parâmetros ignoreCase são especificados 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
Comentários
O throwOnError parâmetro afeta somente o que acontece quando o tipo não é encontrado. Ele não afeta nenhuma outra exceção que possa ser gerada. Em particular, se o tipo for encontrado, mas não puder ser carregado, TypeLoadException poderá ser gerado mesmo se throwOnError for false.
Note
Se o tipo tiver sido encaminhado para outro assembly, ele ainda será retornado por esse método. Para obter informações sobre o encaminhamento de tipos, consulte o Encaminhamento de Tipos no Common Language Runtime.
Um tipo pode ser recuperado de um módulo específico usando Module.GetType. A chamada Module.GetType no módulo que contém o manifesto não pesquisará todo o assembly. Para recuperar um tipo de um assembly, independentemente de qual módulo ele esteja, você deve chamar Assembly.GetType.