msdn08_capa.JPG

Clique aqui para ler todos os artigos desta edição

 

Habilitando as tecnologias .NET Framework com o My

Por Joe Binder

 

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.

 

image002.jpg

Figura 1. Managed Resource Editor

 

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

 

image004.jpg

Figura 2. Settings Designer

 

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!