Clique aqui para ler todos os artigos desta edição
Reflection no Visual Basic .NET
A habilidade para programaticamente inspecionar um assembly em run-time é importante para o projeto de software baseado em atributos personalizados, pois nos permite determinar como os atributos foram aplicados e parametrizados. Neste artigo focalizaremos como é possível usar reflection e programaticamente inspecionar um assembly
Fundamentos do Reflection
O .NET Framework introduziu uma exigência importante para o desenvolvimento de aplicações: toda unidade de código distribuível (assembly), agora exige metadados high-fidelity para se auto-descrever e para os tipos que estão nele definidos. A Figura 1 mostra como são embutidos os metadados e as informações de tipo dentro de um assembly compilado.
Figura 1 - Metadata e Type Info
Reflection é o ato de programaticamente inspecionar um assembly, seus metadados e a informação de tipo que estão nele contidas. Iniciarmos com reflection é bastante simples. Há bastante o que fazer sem escrevermos muito código.
Reflection é possível via um conjunto de classes na Framework Class Library, que fazem parte do namespace System.Reflection. A Figura 2 mostra uma hierarquia de herança das classes que são geralmente usadas ao programar reflection. Vemos que as únicas duas classes neste diagrama que não estão definidas dentro do namespace System.Reflection são System.Object e System.Type.
Comecemos escrevendo algum código que mostrará como inspecionar os metadados associados com um assembly. Por exemplo, digamos que necessitamos programaticamente determinar um assembly completamente qualificado. Podemos começar criando e inicializando um objeto da classe Assembly.