http://netponto.org1ª Reunião Presencial PORTO - 27/03/2010Novidades do .NET Framework 4.0 para o C#Caio Proiete
Patrocinadores desta reunião
Caio Proiete+9 anos de experiência profissional em TIConsultor da NovabaseFormador da CicloMicrosoft MVP, MCThttp://caioproiete.net
AgendaEvolução do .NET FrameworkNovidades do C#Programação Dinámica com C#Melhorias no COM InteropQuestões (Q & A)
Evolução do C#C# 4.0DynamicC# 3.0LINQC# 2.0GenericsC# 1.0/1.1Managed Code
Evolução do .NET FrameworkCLR = Common Language RuntimeSP13.53.0.NET 1.0.NET 1.1.NET 2.0.NET 4.0200220032008 CTP2005-08CLR 1.0CLR 1.1CLR 2.0CLR 4.0
.NET Framework 1.0 até 3.5LinguagensEstáticasVBC#Common Language Runtime
.NET Framework 4.0LinguagensDinámicasRubyPythonLinguagensEstáticasVBDynamic Language RuntimeC#Common Language Runtime
Ferramenta: Visual Studio 2010Actualmente na versão Release Candidate (RC)Download gratuito:http://bit.ly/vs2010rcVersão final (RTM) será lançadaem 12 de Abril de 2010
Novidades do C# - Parte 1/2Argumentos OpcionaisPermite omitir argumentos ao chamar métodos, assumindo um valor padrãoArgumentos NomeadosPermite informar o nome dos argumentos ao chamar métodos
ArgumentosOpcionaiseArgumentosNomeadosdemonstraçãoCódigo-fontedisponívelpara download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Novidades do C# - Parte 2/2Novidade para Generics!CovariancePermite conversões do tipo mais específico para o tipo mais genérico (Ex: Classe Derivada => Classe Base)ContravariancePermite conversões do tipo mais genérico para o tipo mais específico (Ex: Classe Base => Classe Derivada)
Covariance / ContravariancedemonstraçãoCódigo-fontedisponívelpara download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Programação Dinámica no .NETIronPythonIronRubyC#VB.NETOutras…Dynamic Language RuntimeExpression TreesDynamic DispatchCall Site CachingPythonBinderRubyBinderCOMBinderJScriptBinderObjectBinder
Programação Dinámica no C#Novo tipo dynamicResolução dinámica de métodos, propriedades, e eventos (em tempo de execução)Não efectua validação estática
DynamicdemonstraçãoCódigo-fontedisponívelpara download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Programação Dinámica no C#Nova classe ExpandoObjectPermite criar objectos dinámicos em tempo de execuçãoImplementa a interface IDynamicMetaObjectProvider
ExpandoObjectdemonstraçãoCódigo-fontedisponívelpara download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Programação Dinámica no C#Nova classe DynamicObjectFacilita a criação de classes dinámicas (utilizada como classe base)Também implementa a interface IDynamicMetaObjectProvider
DynamicObjectdemonstraçãoCódigo-fontedisponívelpara download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Melhorias no COM InteropAgora é Opcional (o compilador faz por si):Utilizar a palavra-chave refna chamada de métodosEfectuar casts de Value Types para objectSuporte a argumentos opcionais e nomeadosAgora pode-se incluir o assembly de Interop na aplicação
Melhorias COM InteropdemonstraçãoCódigo-fontedisponívelpara download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Questões?
ReferênciasDynamic Language Runtime Overviewhttp://msdn.microsoft.com/en-us/library/dd233052(VS.100).aspxCovariance and ContravarianceFAQhttp://blogs.msdn.com/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspxDynamic in C# 4.0: Creating Wrappers with DynamicObjecthttp://blogs.msdn.com/csharpfaq/archive/2009/10/19/dynamic-in-c-4-0-creating-wrappers-with-dynamicobject.aspx
DownloadDownload do código-fonte das demonstraçõesdestaapresentação:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Patrocinadores desta reunião

Novidades do CSharp 4.0