Reflexão (Visual Basic)
A reflexão fornece objetos (do tipo Type) que descrevem assemblies, módulos e tipos. É possível usar a reflexão para criar dinamicamente uma instância de um tipo, associar o tipo a um objeto existente ou obter o tipo de um objeto existente e invocar seus métodos ou acessar suas propriedades e campos. Se você estiver usando atributos em seu código, a reflexão permite acessá-los. Para obter mais informações, consulte Atributos.
Veja um exemplo simples de reflexão usando o método estático GetType
– herdado por todos os tipos da classe base Object
– para obter o tipo de uma variável:
' Using GetType to obtain type information:
Dim i As Integer = 42
Dim type As System.Type = i.GetType()
System.Console.WriteLine(type)
A saída é:
System.Int32
O exemplo a seguir usa a reflexão para obter o nome completo do assembly carregado.
' Using Reflection to get information from an Assembly:
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly
System.Console.WriteLine(info)
A saída é:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Visão geral da reflexão
A reflexão é útil nas seguintes situações:
Quando você precisa acessar atributos nos metadados do seu programa. Para obter mais informações, consulte Recuperando informações armazenadas em atributos.
Para examinar e instanciar tipos em um assembly.
Para compilar novos tipos em tempo de execução. Usar as classes em System.Reflection.Emit.
Para executar a associação tardia, acessar métodos em tipos criados em tempo de execução. Consulte o tópico Carregando e usando tipos dinamicamente.
Seções relacionadas
Para mais informações: