Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Revista MSDN Magazine Edição 08 - Novidades no Visual Basic .NET Whidbey
Artigo Originalmente Publicado na MSDN Magazine Edição 08
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Clique aqui para ler todos os artigos desta edição
Novidades no Visual Basic .NET Whidbey
por Wallace Cézar Sales dos Santos
Este artigo apresenta as evoluções que estão sendo preparadas pela Microsoft para a próxima versão do Visual Basic .NET (codename “Whidbey”), com enfoque nos novos elementos da linguagem: “Generics”, sobrecarga de operadores, tipos “unsigned”, blocos “Using”, e muito mais.
Introdução
As novidades são muitas, e todas ótimas. Tenho certeza de que todos os profissionais que utilizam o Visual Basic .NET e que apostam na tecnologia ficarão satisfeitos, pois constatamos que o VB continua mantendo a sua principal característica de uma linguagem fácil de escrever e entender. Foram agregados recursos poderosos necessários ao desenvolvimento e que, até este momento, faziam parte de outras linguagens, como o C#.
Existem também as novidades relativas à IDE. Segundo a Microsoft, as funcionalidades adicionadas à IDE proporcionaram um aumento de 60% na produtividade. São funcionalidades como o retorno do “Edit & Continue”, que representou uma grande “choradeira” na comunidade quando o VB.Net foi lançado. É claro que ainda é cedo, e certamente haverá mudanças até o lançamento final, porém teremos a oportunidade de ver um pouco antes o que virá e, com isso, planejar melhor nosso futuro com relação à adoção dessa ou daquela ferramenta ou tecnologia.
Generics
Os generics são uma importante inovação, não apenas do Visual Basic .Net como também do .Net Framework, e podem ser usados no Visual C++ e no Visual C#. Em uma definição simplista, os Generics consistem em uma forma com a qual podemos declarar e definir qualquer objeto (classes, estruturas, interfaces, métodos e delegações) com um tipo não especificado. O tipo a ser utilizado será definido no momento da utilização do objeto desejado e será inserido pelo compilador.
Devemos utilizar Generics quando:
· buscamos maior performance na implementação de coleções, pois não teremos a perda ocorrida pelas operações de “Boxing” / “Unboxing” e “casts” causada pelo fato de utilizarmos o tipo Object nas implementações de coleções para armazenar nossos objetos. Essa foi uma das principais razões para incluir os Generics no .NET Framework;
· queremos trabalhar com tipos seguros (“type safety”), pois com os “generics” o compilador realiza a verificação dos tipos em tempo de compilação, e não em tempo de execução (o que ocorreria se usássemos o tipo Object);
· queremos reutilizar nosso código, pois “generics” promovem de forma eficiente a reutilização de código, já que não existe a dependência explícita de um tipo;
· desejamos algoritimos abstratos, genéricos e independentes de tipos para realizar as operações.
Um detalhe importante sobre os Generics é que seu uso torna o código não “CLS-Compliant”, ou seja, o código escrito passa a não estar de acordo com as especificações existentes no CLS – Common Language Specification, que é o documento que define como deve ocorrer a interoperabilidade entre as linguagens que utilizam o .Net Framework. Desse modo, o código nem sempre será reconhecido por outra linguagem. Para tranqüilizá-los, posso afirmar que não há nenhum problema de integração entre as linguagens incluídas por padrão no Visual Studio .Net. A Listagem 1 mostra um exemplo do uso de Generics, denominados classes de Pessoa e Empresa:
Listagem 1. Classes Pessoa e Empresa: Visão parcial
Public Class Pessoa
...
Public ReadOnly Property Id() As Int32
...
End Property
Public Property Nome() As String
...
End Property
...
End Class
Public Class Empresa
...
Public ReadOnly Property Id() As Int32
...
End Property
Public Property NomeFantasia() As String
...
End Property
...
End Class
As classes e interfaces “Generics” são encontradas no namespace System.Collections.Generic. Elas são caracterizadas pelo sufixo “
"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Wallace Cézar Sales Dos Santos
é Arquiteto de Software da Datasul S.A., responsável pelos sistemas que utilizam a tecnologia Microsoft .NET. MCSD, MCP e MVP e contribuidor de diversas comunidades de desenvolvedores nacionais que utilizam a tecnologia .Net. É também co-autor do livro Desenvolvendo com C# (Ed. Bookman) e está atua...



