1. Visual Studio 2010 e C# 4.0 Carlos dos Santos cds@cds-software.com.br Blog: www.carloscds.net Twitter: @cdssoftware Microsoft MVP C# CDS Informática Ltda. Microsoft Gold Certified Partner Microsoft Visual Studio Team System Inner Circle Partner
2. Agenda Um pouco de história... Novidades do Visual Studio 2010 ObjetosTipadosDinamicamente ParâmetrosOpcionais e Nomeados Programação Paralela Entity Framework 4 WPF Silverlight
3. Um pouco de história… SP1 3.5 3.0 .NET 1.0 .NET 1.1 .NET 2.0 .NET 4 200213 de Fevereiro 2003 3 de Abril 2008 CTP 2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4
4. O que é a plataforma .Net WPF Win Forms DLR ASP.NET WCF E muito mais! LINQ Base Class Libraries CLR JIT & NGEN Garbage Collector Security Model Exception Handling Loader & Binder
24. Entendendo o Dynamic Tipossão “estaticamentetipadoscomodinâmicos” Tipo dinâmicos são System.Object (cuidado com boxing e unboxing) Tipos dinâmicos se propagam nas chamadas Tipo dinâmicos não possuem checagem em tempo de compilação e nem Intelisence
25. Como o Dynamic funciona: CLR COM Binder Expression Tree IronPython Binder Exe Compile Run Bind call C# Runtime Binder Dynamic Call Delegate DLR Cache …
26. ObjetosTipadosDinamicamente Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); object calc = GetCalculator(); TypecalcType = calc.GetType(); object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, newobject[] { 10, 20 }); int sum = Convert.ToInt32(res); ScriptObject calc = GetCalculator(); object res = calc.Invoke("Add", 10, 20); int sum = Convert.ToInt32(res); Estaticamentetipadocomodinâmico dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); Invocaçãodinâmica de método Conversãodinâmica
33. Programação Paralela Aproveitar a capacidade dos processadores com váriosnúcleos Suporte do .Net Framework 4.0: Parallel For / ForEach Task Parallel Library (TPL) System.Threading System.Treading.Task Parallel Linq (PLINQ) Estururas de dados em: System.Collections.Concurrent
35. Programação Orientada a Teste (TDD) Escrevaos testes antes do código Aprovar, Refactorizar Ajuda do Intellisense Geração do Código da Classe Geração dos Metodos
41. WPF Desenvolvaaplicações com visual incrível Total liberdadepara o designer Integração entre o designer e o desenvolvedor Ferramentasespecíficaspara o designer: Expression Blend Visual criadousando XAML
43. Silverlight Aplicações web com visual incrível Poder do XAML aplicado a web Smooth Streaming – altaqualidadenosvídeos(http://www.iis.net/media/experiencesmoothstreaming) Aceleração via GPU (usaprocessamento local do usuário) Instalação no client (out of browser) Obtenha feedback do cliente sem escrever a aplicação (Sketch Flow)
62. Perguntas ? Carlos dos Santos cds@cds-software.com.br www.carloscds.net @cdssoftware
Notas do Editor
A primeira versão foi lançada em 2002, para Windows 98, Me, NT 4.0, 2000, and XP;A versão 1.1foi a primeiragrandeatualização da plataforma, lançadaemconjunto com o Visual Studio 2003, e jáfazendo parte do Windows Server 2003. Inúmerasmodificações, inclusive lançamento de umaversãoparadispositivospequenos, o .NET Compact Framework.A versão 2.0 foilançadaem 2005/2006, junto com SQL Server 2005, Biztalk 2006, etc. - Novo CLR - Generics - Temas, skins, webparts - classes parciais, métodosanonimos, etcA versão 3.0 funcionamaiscomoumaatualização, semgrandesmudançasarquiteturais, utilziando o CLR passado. (novembro 2006) - WPF - WCF - WF - Windows CardspaceVersão 3.5: Novembro de 2007 - LINQ - Métodos de extensão - ASP.NET AJAX juntoSP1 do 3.5: Agosto 2008 - Entity Framework - ADO.NET Data Services - ASP.NET MVC4.0: Anuncio em setembro 2008Public Beta em maio 2009ParallelLinguagens DinâmicasCode ContractsOsloFevereiro de 2010: RC
Expression trees – árvores de expressões Dynamic Dispatch – resolução de métodos em tempo de execução, utiliza cache de chamadas se houberSite Caching – cache das chamadas
Diferença entre dynamic e varVar é conhecido em tempo de compilaçãoDynamic é como o tipo object, resolvido somente em runtimeCuidado com uso excessivo de dynamic – ele cauxa box e unboxing, ou seja muito overhead no processador
If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
Mostrar Debug Windows Parallel – break point
If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.