SlideShare uma empresa Scribd logo
1 de 26
http://netponto.org 1ª Reunião Presencial PORTO - 27/03/2010 Novidades do .NET Framework 4.0 para o C#Caio Proiete
Patrocinadores desta reunião
Caio Proiete +9 anos de experiência profissional em TI Consultor da Novabase Formador da Ciclo Microsoft MVP, MCT http://caioproiete.net
Agenda Evolução do .NET Framework Novidades do C# Programação Dinámica com C# Melhorias no COM Interop Questões (Q & A)
Evolução do C# C# 4.0 Dynamic C# 3.0 LINQ C# 2.0 Generics C# 1.0/1.1 Managed Code
Evolução do .NET Framework CLR = Common Language Runtime SP1 3.5 3.0 .NET 1.0 .NET 1.1 .NET 2.0 .NET 4.0 2002 2003 2008 CTP 2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4.0
.NET Framework 1.0 até 3.5 LinguagensEstáticas VB C# Common Language Runtime
.NET Framework 4.0 LinguagensDinámicas Ruby Python LinguagensEstáticas VB Dynamic Language Runtime C# Common Language Runtime
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
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
ArgumentosOpcionaiseArgumentosNomeados demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
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)
Covariance / Contravariance demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Programação Dinámica no .NET IronPython IronRuby C# VB.NET Outras… Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching PythonBinder RubyBinder COMBinder JScriptBinder ObjectBinder
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
Dynamic demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Programação Dinámica no C# Nova classe ExpandoObject Permite criar objectos dinámicos em tempo de execução Implementa a interface IDynamicMetaObjectProvider
ExpandoObject demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
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
DynamicObject demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Melhorias no COM Interop Agora é Opcional (o compilador faz por si): Utilizar a palavra-chave refna 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
Melhorias COM Interop demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Questões?
Referências Dynamic Language Runtime Overview http://msdn.microsoft.com/en-us/library/dd233052(VS.100).aspx Covariance and ContravarianceFAQ http://blogs.msdn.com/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx Dynamic in C# 4.0: Creating Wrappers with DynamicObject http://blogs.msdn.com/csharpfaq/archive/2009/10/19/dynamic-in-c-4-0-creating-wrappers-with-dynamicobject.aspx
Download Download do código-fonte das demonstraçõesdestaapresentação: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
Patrocinadores desta reunião

Mais conteúdo relacionado

Mais procurados

TDC2018FLN | Trilha Containers - CI/CD a base de containers com Drone
TDC2018FLN | Trilha Containers - CI/CD a base de containers com DroneTDC2018FLN | Trilha Containers - CI/CD a base de containers com Drone
TDC2018FLN | Trilha Containers - CI/CD a base de containers com Dronetdc-globalcode
 
DSL - Como construir uma linguagem em 5 minutos
DSL - Como construir uma linguagem em 5 minutosDSL - Como construir uma linguagem em 5 minutos
DSL - Como construir uma linguagem em 5 minutosOpensoft SA
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Renato Groff
 
Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018
Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018
Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018Renato Groff
 
Palestra Roslyn - TechEd 2015
Palestra Roslyn - TechEd 2015Palestra Roslyn - TechEd 2015
Palestra Roslyn - TechEd 2015CDS
 
Crie sua Linguagem de Programação com XText
Crie sua Linguagem de Programação com XTextCrie sua Linguagem de Programação com XText
Crie sua Linguagem de Programação com XTextMichel Albonico
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...Renato Groff
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featuretdc-globalcode
 
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.tdc-globalcode
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascriptLaís Lima
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Renato Groff
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Renato Groff
 
Desenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e EclipseDesenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e EclipseFlávio Lisboa
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework CoreRogério Moraes de Carvalho
 
Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Flávio Pimenta
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Renato Groff
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPRamon Ribeiro Rabello
 
gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?Yago Tomé
 

Mais procurados (20)

TDC2018FLN | Trilha Containers - CI/CD a base de containers com Drone
TDC2018FLN | Trilha Containers - CI/CD a base de containers com DroneTDC2018FLN | Trilha Containers - CI/CD a base de containers com Drone
TDC2018FLN | Trilha Containers - CI/CD a base de containers com Drone
 
DSL - Como construir uma linguagem em 5 minutos
DSL - Como construir uma linguagem em 5 minutosDSL - Como construir uma linguagem em 5 minutos
DSL - Como construir uma linguagem em 5 minutos
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
 
Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018
Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018
Docker + Bancos de Dados - DBA Brasil 3.0 - Abril-2018
 
Palestra Roslyn - TechEd 2015
Palestra Roslyn - TechEd 2015Palestra Roslyn - TechEd 2015
Palestra Roslyn - TechEd 2015
 
Crie sua Linguagem de Programação com XText
Crie sua Linguagem de Programação com XTextCrie sua Linguagem de Programação com XText
Crie sua Linguagem de Programação com XText
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - .NET SP - Janeiro...
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e feature
 
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascript
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Desenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e EclipseDesenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e Eclipse
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
 
Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?
 
Dojo com Processing
Dojo com ProcessingDojo com Processing
Dojo com Processing
 

Destaque

Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...William S. Rodriguez
 
Desenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhoneDesenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhoneBruno Pires
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Thiago Nascimento Oliveira
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Xamarin
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#André Luiz
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dadosdouglasschaefler
 

Destaque (9)

Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
 
Desenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhoneDesenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhone
 
TWP50 Interface Gráfica GUI
TWP50 Interface Gráfica GUITWP50 Interface Gráfica GUI
TWP50 Interface Gráfica GUI
 
Conheça a Plataforma Xamarin
Conheça a Plataforma XamarinConheça a Plataforma Xamarin
Conheça a Plataforma Xamarin
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dados
 

Semelhante a Novidades do CSharp 4.0

Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4CDS
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemRogério Moraes de Carvalho
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NETPedro Alves Jr.
 
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...Rogério Moraes de Carvalho
 
RedGate .NET Reflector no dia-a-dia de um programador
RedGate .NET Reflector no dia-a-dia de um programadorRedGate .NET Reflector no dia-a-dia de um programador
RedGate .NET Reflector no dia-a-dia de um programadorComunidade NetPonto
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...Renato Groff
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF CoreRogério Moraes de Carvalho
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Renato Groff
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...JP Clementi
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 

Semelhante a Novidades do CSharp 4.0 (20)

Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
 
Dynamic Types no C# 4.0
Dynamic Types no C# 4.0Dynamic Types no C# 4.0
Dynamic Types no C# 4.0
 
Novidades do .Net 4.0
Novidades do .Net 4.0Novidades do .Net 4.0
Novidades do .Net 4.0
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NET
 
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
 
RedGate .NET Reflector no dia-a-dia de um programador
RedGate .NET Reflector no dia-a-dia de um programadorRedGate .NET Reflector no dia-a-dia de um programador
RedGate .NET Reflector no dia-a-dia de um programador
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
Cebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET CoreCebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET Core
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
 
Novidades do .NET 3.5
Novidades do .NET 3.5Novidades do .NET 3.5
Novidades do .NET 3.5
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
DotNet Remoting - .NET framework
DotNet Remoting - .NET frameworkDotNet Remoting - .NET framework
DotNet Remoting - .NET framework
 

Mais de C. Augusto Proiete

Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012C. Augusto Proiete
 
Windows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsWindows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsC. Augusto Proiete
 
Windows Workflow Foundation 4: Introdução
Windows Workflow Foundation 4: IntroduçãoWindows Workflow Foundation 4: Introdução
Windows Workflow Foundation 4: IntroduçãoC. Augusto Proiete
 
Reporting Services 2008 R2: Novidades
Reporting Services 2008 R2: NovidadesReporting Services 2008 R2: Novidades
Reporting Services 2008 R2: NovidadesC. Augusto Proiete
 
Microsoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto ProieteMicrosoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto ProieteC. Augusto Proiete
 
Microsoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto ProieteMicrosoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto ProieteC. Augusto Proiete
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'C. Augusto Proiete
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitC. Augusto Proiete
 
Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)C. Augusto Proiete
 
Inversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkInversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkC. Augusto Proiete
 
ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesC. Augusto Proiete
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesC. Augusto Proiete
 
Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10C. Augusto Proiete
 
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010C. Augusto Proiete
 
Introdução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationIntrodução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationC. Augusto Proiete
 
Apresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoApresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoC. Augusto Proiete
 

Mais de C. Augusto Proiete (19)

Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
 
Windows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsWindows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style Apps
 
Windows Workflow Foundation 4: Introdução
Windows Workflow Foundation 4: IntroduçãoWindows Workflow Foundation 4: Introdução
Windows Workflow Foundation 4: Introdução
 
Reporting Services 2008 R2: Novidades
Reporting Services 2008 R2: NovidadesReporting Services 2008 R2: Novidades
Reporting Services 2008 R2: Novidades
 
Microsoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto ProieteMicrosoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto Proiete
 
Microsoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto ProieteMicrosoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto Proiete
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'
 
Novidades do ASP .NET MVC 3
Novidades do ASP .NET MVC 3Novidades do ASP .NET MVC 3
Novidades do ASP .NET MVC 3
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com Git
 
Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)
 
Inversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkInversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET Framework
 
ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidades
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidades
 
Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10
 
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
 
Introdução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationIntrodução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication Foundation
 
ASP .NET MVC na Prática
ASP .NET MVC na PráticaASP .NET MVC na Prática
ASP .NET MVC na Prática
 
Introdução ao ASP .NET MVC
Introdução ao ASP .NET MVCIntrodução ao ASP .NET MVC
Introdução ao ASP .NET MVC
 
Apresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoApresentação da Comunidade NetPonto
Apresentação da Comunidade NetPonto
 

Novidades do CSharp 4.0

  • 1. http://netponto.org 1ª Reunião Presencial PORTO - 27/03/2010 Novidades do .NET Framework 4.0 para o C#Caio Proiete
  • 3. Caio Proiete +9 anos de experiência profissional em TI Consultor da Novabase Formador da Ciclo Microsoft MVP, MCT http://caioproiete.net
  • 4. Agenda Evolução do .NET Framework Novidades do C# Programação Dinámica com C# Melhorias no COM Interop Questões (Q & A)
  • 5. Evolução do C# C# 4.0 Dynamic C# 3.0 LINQ C# 2.0 Generics C# 1.0/1.1 Managed Code
  • 6. Evolução do .NET Framework CLR = Common Language Runtime SP1 3.5 3.0 .NET 1.0 .NET 1.1 .NET 2.0 .NET 4.0 2002 2003 2008 CTP 2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4.0
  • 7. .NET Framework 1.0 até 3.5 LinguagensEstáticas VB C# Common Language Runtime
  • 8. .NET Framework 4.0 LinguagensDinámicas Ruby Python LinguagensEstáticas VB Dynamic Language Runtime C# Common Language Runtime
  • 9. 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
  • 10. 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
  • 11. ArgumentosOpcionaiseArgumentosNomeados demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
  • 12. 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)
  • 13. Covariance / Contravariance demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
  • 14. Programação Dinámica no .NET IronPython IronRuby C# VB.NET Outras… Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching PythonBinder RubyBinder COMBinder JScriptBinder ObjectBinder
  • 15. 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
  • 16. Dynamic demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
  • 17. Programação Dinámica no C# Nova classe ExpandoObject Permite criar objectos dinámicos em tempo de execução Implementa a interface IDynamicMetaObjectProvider
  • 18. ExpandoObject demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
  • 19. 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
  • 20. DynamicObject demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
  • 21. Melhorias no COM Interop Agora é Opcional (o compilador faz por si): Utilizar a palavra-chave refna 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
  • 22. Melhorias COM Interop demonstração Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
  • 24. Referências Dynamic Language Runtime Overview http://msdn.microsoft.com/en-us/library/dd233052(VS.100).aspx Covariance and ContravarianceFAQ http://blogs.msdn.com/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx Dynamic in C# 4.0: Creating Wrappers with DynamicObject http://blogs.msdn.com/csharpfaq/archive/2009/10/19/dynamic-in-c-4-0-creating-wrappers-with-dynamicobject.aspx
  • 25. Download Download do código-fonte das demonstraçõesdestaapresentação: http://netponto.codeplex.com/releases/view/42778#DownloadId=113396
  • 27. Obrigado! Caio Proiete caio@netponto.org http://caioproiete.net http://twitter.com/caioproiete