Fichas
Using dynamic types

Fichas del conjunto (6)
- 1o q é e como funciona dynamic? Qdo é útil trabalhar com dynamic? O que o compilador faz com o obj dinamico que vc escreve?C# é uma linguagem tipada parcialmente estática.
A palavra-chave dynamic, add no C# 4.0, é onde vc entra no mundo das linguagens fracamente tipadas. Trabalhar c/ sistema fracamente tipado é útil ao se comunicar c/ recursos externos (Ex: COM Interop, Iron-Python, conjuntos de resultados (JSON) , ou o documento HTML Object Model [DOM]) ou qdo trabalham com reflection dentro C#.
Qdo o compilador C# encontra 'dynamic' ele pára c/ verificação estática de tipo (ex: verificar se existe um método em um tipo ou se tem certos argumentos).
Em vez disso, o compilador salva o objetivo do código para que ele possa ser executado mais tarde em tempo de execução. É por isso q o uso de tipos dinâmicos n irão gerar quaisquer erros em tempo de compilação, embora certamente pode gerar erros de execução. - 2exemplo com Office automation API's

- 3DynamicObject conceitoDynamicObject é o + flexível. Qdo herdando de DynamicObject, vc pode substituir os membros q lhe permitem substituir operações como get and set de um membro, chamar um método, ou realizar conversões.
Usando DynamicObject, vc pode criar objetos verdadeiramente dinâmicos e tem total controle sobre como eles operam em tempo de execução. - 4exemplo de DynamicObject

- 5ExpandoObject conceitoExpandoObject é uma implementação selada q permite obter e definir propriedades em um tipo.
Em ASP.NET MVC, por exemplo, há uma ViewBag q pode ser usado p/ passar dados do controller para a view.
ViewBag é um ExpandoObject. Em vez de criar uma nova propriedade, tipagem estática para cada elemento de dados que vc deseja passar, vc pode usar o ViewBag, - 6exemplo de ExpandoObjectpublic ActionResult Index()
{
ViewBag.MyDynamicValue = “This property is not statically typed”;
return View();
}
Información
- Descripción
- 70-483 C# Fichas sobre Using dynamic types, creado por Thiago Russo el 01/05/2017.
- Creado por
- Thiago Russo
- Visitas
- 0
- Valoración