Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
32
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. DYNAMICS.NET 4.0SÉRGIO RODRIGUES GIRALDOSERGIO.GIRALDO@ITAU-UNIBANCO.COM.BR
  • 2. CARACTERÍSTICAS .NET• Strongly typed – type safe• Resolução de tipos é feita em compile time• Plataforma auto-descrita(metadados)
  • 3. WEAKLY TYPED CENARIOS• CODEDOM • Ótima para geração de código-fonte • Abordagem independente de linguagem• LCG (Lightweight Code Generator) • Requer conhecimento da semântica do código em IL• Expression trees • Object model em tempo de execução
  • 4. CODEDOM
  • 5. LGC
  • 6. EXPRESSION TREE
  • 7. .NET 4.0: DYNAMIC KEYWORD• Se um tipo é dynamic, significa que o binding e o dispatch sejam postergados (deferred) para o tempo de execução. int intFoo = 2; int intBar = 3; Console.WriteLine(intFoo + intBar); dynamic dynFoo = 2; dynamic dynBar = 3; Console.WriteLine(dynFoo + dynBar);
  • 8. DUCK TYPE ?Se caminha como um pato e faz quack como um patoentão ... é um pato !
  • 9. DUCK TYPE? HUMM
  • 10. NEM TANTO ;D
  • 11. COMO PARECE NO CÓDIGO?
  • 12. DYNAMIC, VAR, OBJECTvar: type é inferido do contextoObject: type básico do CTSdynamic: para o compilador é um object porém seu typeapenas será conhecido em runtime
  • 13. ENTENDENDO ...
  • 14. DECOMPILER ...
  • 15. IL
  • 16. IL
  • 17. MAS COMO ELEEXECUTA?1. DLR 1. Determinar variáveis e declarações dinâmicas 2. Usar CallSite para determinar as expression trees 3. Executa as trees http://dlr.codeplex.com
  • 18. NA REAL
  • 19. DECOMPILED
  • 20. DECOMPILED
  • 21. DECOMPILED
  • 22. BINDER ?
  • 23. BINDER !