Assembly.GetTypes Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define todos os tipos nesta assembleia.
public:
virtual cli::array <Type ^> ^ GetTypes();
public virtual Type[] GetTypes();
abstract member GetTypes : unit -> Type[]
override this.GetTypes : unit -> Type[]
Public Overridable Function GetTypes () As Type()
Devoluções
Um array que contém todos os tipos definidos nesta assembleia.
Implementações
Exceções
O conjunto contém um ou mais tipos que não podem ser carregados. O array devolvido pela Types propriedade desta exceção contém um Type objeto para cada tipo que foi carregado e null para cada tipo que não pôde ser carregado, enquanto a LoaderExceptions propriedade contém uma exceção para cada tipo que não pôde ser carregado.
Exemplos
O exemplo seguinte mostra os parâmetros de um método num tipo no conjunto especificado.
Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
// Obtain a reference to a method known to exist in assembly.
MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
// Type = System.String
// Position = 0
// Optional=False
foreach (ParameterInfo Param in Params)
{
Console.WriteLine("Param=" + Param.Name.ToString());
Console.WriteLine(" Type=" + Param.ParameterType.ToString());
Console.WriteLine(" Position=" + Param.Position.ToString());
Console.WriteLine(" Optional=" + Param.IsOptional.ToString());
}
Dim SampleAssembly As [Assembly]
SampleAssembly = [Assembly].LoadFrom("c:\Sample.Assembly.dll")
' Obtain a reference to a method known to exist in assembly.
Dim Method As MethodInfo = SampleAssembly.GetTypes()(0).GetMethod("Method1")
' Obtain a reference to the parameters collection of the MethodInfo instance.
Dim Params As ParameterInfo() = Method.GetParameters()
' Display information about method parameters.
' Param = sParam1
' Type = System.String
' Position = 0
' Optional=False
For Each Param As ParameterInfo In Params
Console.WriteLine(("Param=" + Param.Name.ToString()))
Console.WriteLine((" Type=" + Param.ParameterType.ToString()))
Console.WriteLine((" Position=" + Param.Position.ToString()))
Console.WriteLine((" Optional=" + Param.IsOptional.ToString()))
Next
Observações
O array devolvido inclui tipos aninhados e não públicos. Para recuperar apenas tipos públicos, use o GetExportedTypes método.
Se o GetTypes método for chamado num conjunto e um tipo nesse conjunto depender de um tipo num conjunto que não foi carregado (por exemplo, se deriva de um tipo no segundo conjunto), um ReflectionTypeLoadException é lançado. Por exemplo, isto pode acontecer se o primeiro conjunto estivesse carregado com os ReflectionOnlyLoad métodos ou ReflectionOnlyLoadFrom , e o segundo conjunto não estivesse carregado. Também pode acontecer com assemblies carregados usando os Load métodos e LoadFile se o segundo assembly não puder ser localizado quando o GetTypes método é chamado.
Note
Se um tipo foi encaminhado para outra montagem, não é incluído no array devolvido. Para informações sobre encaminhamento de tipos, veja Encaminhamento de Tipos no Common Language Runtime.
Para recuperar uma coleção de TypeInfo objetos em vez de um array de Type objetos, use a Assembly.DefinedTypes propriedade.