Artigo do tipo Exemplos Práticos
Recursos especiais neste artigo:
Conteúdo sobre boas práticas, Artigo no estilo Mentoring
Cenário
A classe ExpandoObject permite a criação de objetos dinâmicos, adicionando e removendo membros em tempo de execução e neste artigo veremos melhor este recurso e seus benefícios para utilização em nossos projetos. Em conjunto com o suporte dinâmico do framework esta classe é útil para tornar códigos mais legíveis e flexíveis. O seu dinamismo permite a transformação de dados em objetos, facilitando a exibição e controle dos dados.

Em que situação o tema é útil
A criação de objetos com estrutura dinâmica usando a classe ExpandoObejct é útil em situações onde se tem um conjunto de informações que podem ser agrupadas, mas que não levam à necessidade de criação de uma classe para organizá-las. Para estes casos, pode-se criar um objeto único, instância da classe ExpandoObject, e adicionar propriedades e métodos dinamicamente.

A maioria dos códigos escritos em .NET são baseados em tipos estáticos. A tipagem estática oferece um ótimo desempenho, mas é baseada no pressuposto que você sabe quase tudo sobre o seu código (e dados) com antecedência. Hoje em dia com os novos recursos disponíveis, há uma forte tendência a desenvolver códigos genéricos contendo tipagem dinâmica, objetos dinâmicos e programação com a utilização de Reflection (BOX 1).

Nesse artigo será mostrado uma das várias opções que o framework disponibiliza, a classe ExpandoObject, que auxilia o desenvolvimento de aplicações com códigos mais flexíveis.

BOX 1. Reflection

Reflection é um modo pelo qual o programa pode ler as suas próprias informações em tempo de execução. Ou seja, uma forma de obter os métodos, propriedades de um tipo específico e então invocá-los dinamicamente.

...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora