As novidades do VB .NET na nova versão do Visual Studio


A seguir um resumo dos novos recursos disponíveis no Visual Basic na nova versão do Visual Studio 2012:

Característica Async

O novo recurso Async fornece uma técnica simples e elegante para criar código assíncrono. Esta característica faz com que a programação assíncrona seja tão simples quanto a programação síncrona.

Quando a interface de usuário não responde ou seu servidor não escala, é provável que você precisa que seu código seja executado de forma assíncrona. Escrever código assíncrono tem tradicionalmente envolvido a instalação de um retorno de chamada (também chamado de continuação) para expressar a lógica que ocorre após a conclusão da operação assíncrona. Isto complica a estrutura do código assíncrono, em comparação com o código síncrono.

Com o recurso Async, agora você pode chamar métodos assíncronos sem usar callbacks, e sem dividir o seu código através de vários métodos ou expressões lambda.

O modificador Async especifica que um método é assíncrono. Ao chamar um método assíncrono, uma tarefa é retornada. Ao chamar uma declaração Await contra a tarefa, o método atual sai imediatamente. Quando a tarefa termina, a execução continua com o mesmo método.

Chamar um método Async não aloca qualquer thread adicionais.

Iterators

Os Iteradores são usados para executar iteração personalizada sobre coleções, como listas ou matrizes.

Um iterador usa a declaração Yield para retornar cada elemento na coleção um de cada vez. Quando uma instrução Yield é atingida, a localização atual de código é retida. A execução é reiniciada a partir desse local, da próxima vez que a função iterator for chamada.

Você chama um iterador a partir do código do cliente usando uma instrução For Each ... Next

Exemplo:

Hierarquia de Chamada

A Hierarquia de chamada permite que você navegue através de seu código exibindo todas as chamadas de e para um método selecionado, propriedade ou construtor.

Isso permite que você entenda melhor como o código flui e avalie os efeitos das mudanças no código. Você pode examinar vários níveis de código para ver cadeias complexas de chamadas de métodos e pontos de entrada adicionais para o código, que permitem explorar todos os caminhos de execução possíveis.

A Hierarquia de chamada permite que você navegue através de seu código exibindo o seguinte:

A Hierarquia de chamada foi introduzida no C# no Visual Studio 2010.

Para exibir a janela Hierarquia de chamada, clique com o botão direito do mouse sobre o nome de um método, propriedade ou chamada de construtor e a seguir clique em Ver Hierarquia de chamada.

O nome do membro aparece em um painel de exibição de árvore na janela Hierarquia de chamada. Se você expandir o nó de membro, as chamadas para nome de membro e chamadas dos sub-nós nome de membro irá ser exibidas.

Informação do Chamador

Esta versão do Visual Basic apresenta um recurso que facilita a obtenção de informações sobre o chamador de um método. Usando os atributos de chamadas, é possível identificar o caminho do arquivo do código fonte, o número da linha no código fonte, e o nome do membro do chamador. Esta informação é útil para a detecção, depuração e criação de ferramentas de diagnóstico.

Imports System.Runtime.CompilerServices
Imports System.Diagnostics

Module Module1
    Private Sub DoProcessing()
        TraceMessage("Ocorreu algo.")
    End Sub

    Public Sub TraceMessage(message As String,
            <CallerMemberName> Optional memberName As String = Nothing,
            <CallerFilePath> Optional sourcefilePath As String = Nothing,
            <CallerLineNumber()> Optional sourceLineNumber As Integer = 0)

        Trace.WriteLine("mensagem: " & message)
        Trace.WriteLine("nome do membro: " & memberName)
        Trace.WriteLine("caminho do arquivo fonte: " & sourcefilePath)
        Trace.WriteLine("numero da linha : " & sourceLineNumber)
    End Sub
End Module

Uso da palavra global em Namespace

Agora você pode usar a palavra-chave Global em uma declaração de Namespace.

Isso permite definir um espaço fora do namespace raiz do seu projeto.

Namespace SpecialSpace
    Namespace System
        Class abc
            Function getValue() As Global.System.Int32
                Dim n As Global.System.Int32
                Return n
            End Function
        End Class
    End Namespace
End Namespace

Você pode usar a palavra-chave Global para iniciar a cadeia de qualificação no nível mais externo da biblioteca de classes. Isso permite que você especifique o namespace System ou qualquer outro espaço na biblioteca de classes.

Edição de código

O IDE não insere automaticamente o modificador ByVal para um parâmetro que não especifica ByVal ou ByRef. ByVal ainda é o padrão se ByVal ou ByRef não é especificado.

No código gerado automaticamente, o IDE não mais insere o nome completamente qualificado para um tipo se o namespace esta em uma declaração Imports (Namespace e Type) ou na seção de namespaces importados da página de referências.

Visual Basic 2012:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Visual Basic 2010
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click

Slm 117:1 Louvai ao Senhor todas as nações, exaltai-o todos os povos.
Slm 117:2
Porque a sua benignidade é grande para conosco, e a verdade do Senhor dura para sempre. Louvai ao Senhor.


Veja os Destaques e novidades do SUPER CD VB 2012 (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Veja mais sistemas completos para a plataforma .NET no Super CD .NET e no Super DVD .NET , confira...

Quer aprender C# ??

Chegou o Super DVD C# 2012 com exclusivo material de suporte e vídeo aulas com curso básico sobre C#
 

Referências:


José Carlos Macoratti