Habilitando as tecnologias .NET Framework com o My
Uma certa agitação cerca o Visual Basic 2005, com seu ambiente de desenvolvimento revitalizado e seu novo conjunto de recursos, projetados para alavancar a produtividade do desenvolvedor. Recursos como a implantação do Click Once, fragmentos de código, diversos aprimoramentos de linguagem e Edit-And-Continue dão aos desenvolvedores muitos motivos para tanta excitação! Um dos pilares da produtividade do Visual Basic 2005 é o My: uma inclusão na linguagem projetada para ajudar os desenvolvedores a navegar mais facilmente no framework e explorar as novidades tecnológicas de maneira mais eficaz.
O que é o My?
O My permite que os usuários localizem e ativem mais facilmente a funcionalidade do .NET Framework. Sua hierarquia intuitiva oferece um mecanismo que pode ser usado pelos desenvolvedores para navegar programaticamente no .NET Framework, identificar as classes necessárias para executar tarefas comuns e usar essas classes de forma eficiente. Por exemplo, suponha que você precise escrever uma mensagem de log em um arquivo. Você sabe que o suporte a logging de que necessita está disponível no .NET Framework, mas quais classes você deve usar? Como você deve usá-la? Como elas podem ser configuradas para escrever em um arquivo? Com o My, o trabalho extra de descobrir a classe correta para o trabalho e ativá-la para que faça a tarefa é tão fácil quanto esta linha:
My.Application.Log.WriteEntry("The system is starting")
que fornece um único ponto de acesso aos recursos de logging do System.Diagnostics que são pré-configurados para escrever um arquivo.
O que contém o My?
As classes do My podem se divididas em duas áreas gerais: classes para auxiliar a navegação no .NET Framework e classes que fornecem acesso a itens do projeto VB atual. A primeira categoria é composta de My.Application, My.Computer e My.User; a última consiste em My.Resources, My.Settings, My.Forms e My.WebServices.
My.Application
My.Application é um agrupamento lógico de funcionalidades baseadas em tarefas relacionadas ao aplicativo atual. Informações comuns sobre o arquivo, tais como copyright, descrição, nome, coleção de forms abertos etc. são prontamente acessíveis por meio do My.Application.
My.Application também inclui eventos no nível do aplicativo, que permitem que a seqüência de execução do aplicativo seja orientada a evento. Por exemplo, talvez você precise criar algumas conexões de banco de dados quando o aplicativo for iniciado. Ou, talvez você precise fechar essas conexões quando o aplicativo for encerrado. O que você precisará fazer quando ocorrer uma exceção não tratada em um código? O modelo de evento My.Application habilita uma estrutura de código que pode lidar de forma efetiva com essas questões.
Private Sub MyApplication_Shutdown(_
ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles Me.Shutdown
Me.DataLayer.CloseConnections()
End Sub
Private Sub MyApplication_Startup(_
ByVal sender As Object, _
ByVal e As System.Windows.Forms.StartupEventArgs)_
Handles Me.Startup
Me.DataLayer.OpenConnections()
End Sub
Private Sub MyApplication_UnhandledException( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.UnhandledExceptionEventArgs) _
Handles Me.UnhandledException
My.Application.Log.WriteException(e.Exception, True)
End Sub
My.Computer
Quanto de memória virtual está disponível neste computador? Como posso enviar um documento para uma impressora conectada a este computador? Como faço para copiar um arquivo no sistema de arquivos? O .NET Framework oferece várias classes que respondem a essas questões, mas elas residem em diferentes namespaces e podem ser difíceis de localizar. Com o My, os pontos de acesso à funcionalidade relacionada ao computador estão localizados centralmente no My.Computer. Por exemplo, copiar um arquivo com uma caixa de diálogo do shell do Windows ® mostrando uma barra de progresso é tão fácil quanto:
My.Computer.FileSystem.CopyFile( “c:\picture.gif”,
SpecialDirectories.MyDocuments, true, true)
My.User
O .NET Framework oferece uma infra-estrutura extremamente avançada e extensível para manter as informações sobre o usuário conectado no momento. Mas como essa infra-estrutura pode ser configurada para obter o nome do usuário Windows®? Como usar a implementação de autenticação e autorização personalizadas? My.User não apenas fornece acesso a essa infra-estrutura em uma única linha de código como também faz o trabalho necessário para configurar as classes System.Security.Principal para que retornem, por padrão, as informações relacionadas ao usuário Windows®. E, caso seja implementado um mecanismo de autorização e autenticação personalizadas, My.User fornecerá pontos de acesso ao Principal do thread atual, permitindo que a implementação personalizada seja facilmente ativada.
My.Resources e My.Forms
O Visual Basic 2005 oferece uma melhoria dramática para o gerenciamento de configurações e recursos do aplicativo. O novo Resource Editor (Figura 1) permite que recursos de vários tipos — strings, imagens, ícones etc — sejam gerenciados facilmente em tempo de design. No runtime, os usuários VB podem usar My.Resources para acessar qualquer recurso adicionado ao projeto como propriedades strongly-typed.
Por exemplo, quando as imagens acima são adicionadas ao projeto por meio do Resource Editor, My.Resources é automaticamente atualizado de modo a incluir uma propriedade strongly-typed para a imagem adicionada, permitindo que cada recurso seja acessado com uma única linha de código:
My.Forms.Form1.BackgroundImage = My.Resources.Sunset
O fragmento de código acima também exemplifica a coleção de forms do My. My.Forms fornece uma coleção de instâncias para todos os Forms no projeto atual.
My.Settings
Da mesma forma, o Settings Designer (Figura 2) permite gerenciar em tempo de design vários tipos de configurações de aplicativo. No exemplo abaixo, adicionei uma configuração de aplicativo para restaurar a URL da página de suporte ao aplicativo. Acessar este código é simples como isto:
Me.Homepage = My.Settings.SupportAddress
Conclusão
O My do Visual Basic 2005 aumenta a facilidade com a qual os desenvolvedores podem descobrir e ativar as classes .NET Framework existentes. Juntamente com a produtividade de outros recursos como ClickOnce, Code Snippets, Edit-And-Continue, o Visual Basic 2005 é uma das versões mais esperadas do Visual Basic .NET. Separe um tempo para experimentar o My e conheça um nível de produtividade totalmente novo!