novidades do csharp 4.0

25
Novidades do .NET Framework 4.0 para o C# Caio Proiete http://netponto.org 1ª Reunião Presencial PORTO - 27/03/2010

Upload: comunidade-netponto

Post on 18-Dec-2014

1.137 views

Category:

Technology


1 download

DESCRIPTION

Apresentação sobre as novas funcionalidades do CSharp 4, adicionadas no .NET Framework 4.0, com demonstrações práticas de utilização de cada uma destas funcionalidades, na 1ª Reunião Presencial da Comunidade NetPonto, no Porto

TRANSCRIPT

Page 1: Novidades do CSharp 4.0

Novidades do .NET Framework 4.0 para o C#

Caio Proiete

http://netponto.org1ª Reunião Presencial PORTO - 27/03/2010

Page 2: Novidades do CSharp 4.0

Caio Proiete9 anos de experiência profissional em TIHá 3 anos em PortugalMicrosoft Most Valuable Professional 2009-2010Microsoft Certified Trainer desde 2004

http://caioproiete.com

Page 3: Novidades do CSharp 4.0

Agenda

• Evolução do .NET Framework• Novidades do C#• Programação Dinámica com C#• Melhorias no COM Interop• Questões (Q & A)

Page 4: Novidades do CSharp 4.0

Evolução do .NET Framework

.NET 1.0 .NET 1.1 .NET 2.0

3.0

3.5

.NET 4.0

2002 2003 2008 CTP2005-08

CLR 1.0 CLR 1.1 CLR 2.0 CLR 4.0

SP1

CLR = Common Language Runtime

Page 5: Novidades do CSharp 4.0

.NET Framework 1.0 até 3.5

Common Language Runtime

Linguagens Estáticas

C#VB

Page 6: Novidades do CSharp 4.0

.NET Framework 4.0

Common Language Runtime

C#VB

RubyPython

Linguagens Dinámicas

Dynamic Language Runtime

Linguagens Estáticas

Page 7: Novidades do CSharp 4.0

Ferramenta: Visual Studio 2010• Actualmente na versão Release

Candidate (RC)

• Download gratuito:http://bit.ly/vs2010rc

• Versão final (RTM) será lançadaem 12 de Abril de 2010

Page 8: Novidades do CSharp 4.0

Novidades do C# - Parte 1/2

• Argumentos Opcionais– Permite omitir argumentos ao chamar métodos,

assumindo um valor padrão

• Argumentos Nomeados– Permite informar o nome dos argumentos ao chamar

métodos

Page 9: Novidades do CSharp 4.0

Argumentos Opcionais eArgumentos Nomeados

demonstração

Código-fonte disponível para download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396

Page 10: Novidades do CSharp 4.0

Novidades do C# - Parte 2/2

• Novidade para Generics!– Covariance• Permite conversões do tipo mais específico para o tipo mais

genérico (Ex: Classe Derivada => Classe Base)

– Contravariance• Permite conversões do tipo mais genérico para o tipo mais

específico (Ex: Classe Base => Classe Derivada)

Page 11: Novidades do CSharp 4.0

Covariance / Contravariance

demonstração

Código-fonte disponível para download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396

Page 12: Novidades do CSharp 4.0

Programação Dinámica no .NET

PythonBinder

RubyBinder

COMBinder

JScriptBinder

ObjectBinder

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C# VB.NET Outras…

Page 13: Novidades do CSharp 4.0

Programação Dinámica no C#

• Novo tipo dynamic– Resolução dinámica de métodos, propriedades, e

eventos (em tempo de execução)– Não efectua validação estática

Page 14: Novidades do CSharp 4.0

Dynamic

demonstração

Código-fonte disponível para download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396

Page 15: Novidades do CSharp 4.0

Programação Dinámica no C#

• Nova classe ExpandoObject– Permite criar objectos dinámicos em tempo de

execução– Implementa a interface IDynamicMetaObjectProvider

Page 16: Novidades do CSharp 4.0

ExpandoObject

demonstração

Código-fonte disponível para download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396

Page 17: Novidades do CSharp 4.0

Programação Dinámica no C#

• Nova classe DynamicObject– Facilita a criação de classes dinámicas (utilizada como

classe base)– Também implementa a interface IDynamicMetaObjectProvider

Page 18: Novidades do CSharp 4.0

DynamicObject

demonstração

Código-fonte disponível para download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396

Page 19: Novidades do CSharp 4.0

Melhorias no COM Interop

• Agora é Opcional (o compilador faz por si):– Utilizar a palavra-chave ref na chamada de métodos– Efectuar casts de Value Types para object

• Suporte a argumentos opcionais e nomeados

• Agora pode-se incluir o assembly de Interop na aplicação

Page 20: Novidades do CSharp 4.0

Melhorias COM Interop

demonstração

Código-fonte disponível para download:http://netponto.codeplex.com/releases/view/42778#DownloadId=113396

Page 21: Novidades do CSharp 4.0

Questões?

Page 23: Novidades do CSharp 4.0

DownloadDownload do código-fonte das demonstrações desta apresentação:

– http://netponto.codeplex.com/releases/view/42778#DownloadId=113396

Page 25: Novidades do CSharp 4.0

Obrigado!

Caio [email protected]://caioproiete.comhttp://twitter.com/caioproiete