Reflexão

Definição – o que significa reflexão?

Reflexão é o processo de acessar informações sobre assemblies carregados e os tipos definidos neles para criar, invocar e acessar instâncias de tipo em tempo de execução de forma programática.

A reflexão possibilita visualizar as informações de montagem de um objeto, como eventos, propriedades, métodos e campos. Ele forma um mecanismo pelo qual os objetos podem interrogar uns aos outros e descobrir informações em tempo de execução, o que inclui mais do que o que é conhecido por meio de interfaces expostas publicamente. A reflexão ajuda a definir módulos e novos tipos chamados durante o tempo de execução. A reflexão é usada em aplicativos como navegadores de tipo (para selecionar e visualizar as informações sobre os tipos), compiladores (para construir tabelas de símbolos) e aplicativos remotos e serialização (para acessar dados e sua persistência).

Definirtec explica Reflexão

O Reflection fornece um recurso de vinculação tardia em tempo de execução para criar uma instância de um determinado tipo, que não é conhecido durante o tempo de compilação.

A reflexão é semelhante ao processo de obtenção de informações de tipo de tempo de execução implementadas em linguagens como C ++, Delphi, Java, etc. No caso do .NET, as informações de tipo armazenadas como metadados em assembly compilado são obtidas usando classes .NET de forma programática.

O Reflection pode ser adequado para aplicativos em que plug-ins de terceiros são usados, mas não é adequado para aplicativos como um site ASP.NET, onde um bom rendimento e um bom tempo de resposta são importantes. A reflexão tem suas próprias desvantagens. Isso inclui sobrecarga de desempenho, restrições de segurança, complexidade de código e acesso a membros ocultos.

Esta definição foi escrita no contexto do .NET