.NET Framework : introdução e classes importantes

O que é o .NET Framework ?  Começamos este artigo com uma pergunta. Uma pergunta que não é fácil responder. Vamos tentar neste artigo responder a pergunta e ir um pouco mais além  , dando uma pequena introdução as principais classes do .NET Framework.

"O .NET Framework é uma nova plataforma que simplifica o desenvolvimento de aplicações para o ambiente altamente distribuído da Web". Seus objetivos principais são :

  1. Fornecer um consistente ambiente de programação orientada a objetos.
  2. Fornecer um ambiente de execução de código que minimize os conflitos de versionamento e empacotamento/disrtribuição.
  3. Prover um ambiente de execução de código que garanta a execução segura do código , incluindo código criado por terceiros.
  4. Prover um ambiente de execução de código que elimine os problemas de desempenho de ambientes interpretados ou de scripts.

Os dois principais componentes do .NET Framework são o CLR e a livraria de classes(Class library). O CLR gerencia a memória, as threads , a verificação da segurança, a compilação e o código em tempo de execução e a livraria de classes é uma coleção de classes orientadas a objeto de tipos reutilizáveis integradas com a CLR . O .NET Framework pode ser  usado para criar os seguintes tipos de aplicações e serviços:

  1. Aplicações do tipo Console
  2. Baseadas em scripts
  3. Windows Forms
  4. ASP.NET
  5. Windows Services
  6. XML Web Services

O .NET Framework é então um poderoso ambiente de desenvolvimento que consiste de vários componentes e serviços combinados.  É constituído de milhares de classes (umas 6 mil) que provêm toda funcionalidade que antes você encontrava quer no Windows quer no Visual Basic.

Nota: Já deu para perceber que com tantas classes encontrar aquele classe que você precisa pode se tornar um  martírio. Para facilitar a sua vida o .NET Framework é organizado de forma hierárquica existem os espaços de nomes (Namespaces) que compõe e indicam uma determinada ramificação na hierarquia. Nos namespaces a denominação para cada espaço de nome é composta de uma série de trechos separados por um ponto. Ex: O namespace System.Data.SqlClient esta relacionado a System.Data mas não esta contido nele pois esta num nivel hierárquico superior.

No .NET Framework há dois nomes de nível mais elevado: System e Microsoft. Os espaço de nomes System estão disponíveis para usuários do VB .NET. O espaço de nome Microsoft é especifico do Visual Studio .

O .NET Framework contém o CLR - Common Languague Runtime ; ele é responsável pela execução do código que você gerou no ambiente ; quer usando VB .NET , ASP.NET ou outra linguagem .NET.  Todas as linguagens são compiladas para a MSIL - Microsoft Intermediate Languague que em seguida é convertido em código nativo durante sua primeira execução.(uma JVM - Java Virtual Machine da vida...).

Todas as linguagens com o suporte do CLR possuem o mesmo tipo de dados , com isto fica mais fácil a passagem de parâmetros entre as linguagens , você não precisa fazer mais conversões nem malabarismos.

Podemos dizer então que o CLR é o coração do .NET Framework , e , apesar disto , ele trabalhar em oculto , sendo que a parte que aparece do .NET Framework são as classes que usamos na nossa aplicação. Vejamos algumas das classes úteis do ambiente que você com certeza irá usar mais cedo ou mais tarde.

Algumas classes importantes do .NET Framework

  1. Console - permite exibir e ler a partir da linha de comando usando uma janela DOS
  2. Math - inclui diversos cálculos matemáticos.
  3. Random - realiza a geração de números aleatórios
  4. Environment - efetua a leitura e gravação nas variáveis de ambiente do sistema
  5. Collections : ArrayList e SortedList - permite o tratamento de conjunto de itens
Nota: Para rodar o .NET Framework existem alguns pré-requisitos de hardware . Abaixo um resumo das plataforma que suportam o .NET Framework tanto para o cliente como para o servidor:
Cenário Sistema Operacional
Cliente

Microsoft® Windows® 98

Microsoft® Windows® 98 Second Edition

Microsoft® Windows® Millennium Edition

Microsoft® Windows NT® 4.0 Workstation com Service Pack 6.0a ou superior

Microsoft® Windows NT® 4.0 Server com Service Pack 6.0a ou superior

Microsoft® Windows® 2000 Professional

Microsoft® Windows® 2000 Server

Microsoft® Windows® 2000 Advanced Server

Microsoft® Windows® XP Home Edition

Microsoft® Windows® XP Professional

Nota:   Em todos estes sistemas é requerido o Microsoft® Internet Explorer 5.01 ou superior e Windows® Installer 2.0 ou superior

Servidor

Microsoft® Windows® 2000 Professional com Service Pack 2.0

Microsoft® Windows® 2000 Server com Service Pack 2.0

Microsoft® Windows® 2000 Advanced Server com Service Pack 2.0

Microsoft® Windows® XP Professional

Para usar características adicionais como ASP.NET, COM+ services, e SQL Server .NET Data Provider, você vai precisar dos seguintes softwares:

cenário característica Software Necessário
Cliente SQL Server .NET Data Provider Microsoft Data Access Components (MDAC) 2.6
  Acesso ao system management information Windows Management Instrumentation (WMI) (instalado com o SO no Windows 2000, Windows Millennium Edition, e Windows XP)
  COM+ services Windows 2000 Service Pack 2.0
Servidor SQL Server .NET Data Provider Microsoft Data Access Components (MDAC) 2.7
  ASP.NET Microsoft Internet Information Services (IIS) 5.0

 

A classe Math

A classe Math fornece constantes e métodos estáticos ou compartilhados ( um método estático/compartilhado pode ser usado sem instanciar a classe Math) para funções matemáticas relacionadas a trigonometria , logarítimos , etc.. Abaixo vou mostrar os mais importantes:

Abs  Retorna o valor absoluto do número (se for negativo retorna o valor positivo do número)
Cos  Retorna o valor do coseno de um ângulo.
Exp  Retorna o valor de e elevado a uma potência específica.
Log  Retorna o logarítimo de um número.
Log10  Retorna o logarítimo na base 10 de um número.
Max  Retorna o maior número entre dois números.
Min  Retorna o menor número entre dois números.
Pow  Retorna um número elevado a potência indicada.
Round  Retorna o número mais próximo de um número.
Sign  Retorna um valor que indica o sinal do número.
Sin  Retorna o valor do seno de um ângulo.
Sqrt  Retorna a raiz quadrada de um número.
Tan  Retorna o valor da tangente de um ângulo.

Para ver como usar os métodos leia o artigo: Usando alguns métodos do namespace System.Math

A classe Console

Já usamos a classe console em artigos anteriores. Para inteirar-se leia os artigos:

  1. Minha primeira aplicação VB.NET
  2. VB .NET -  Formatando a sainda do Console

Abaixo listamos alguns dos métodos básicos da classe console :

Método Descrição
Read Lê informações a partir da linha de comando.(Lê o próximo caractere)
Readline Lê informações a partir da linha de comando. Lê a próxima linha (todos os caracteres até encontrar o Enter) ( não o incluí)
Setin Altera a origem de entrada para Read e ReadLine.
SetError Altera o destino das mensagens de erro durante a execução do seu programa
SetOut Altera o destino dos métodos Write e Writeline.
Write Exibe informações na linha de comando.
Writline Exibe informações na linha de comando.(Termina com uma nova linha)

Abaixo temos um exemplo usando alguns dos métodos acima.  Vamos explicar como ele funciona:

Podemos redirecionar a entrada , a saída ou as informações de erro do nosso programa para qualquer destino onde houver um TextReader ou TextWriter.No exemplo abaixo iremos direcionar o resultado para um arquivo:

Nota : A classe TextReader representa um leitor que pode ler uma série sequêncial de caracteres. Como é uma classe abstrata não pode ser instânciada diretamente; devemos criar uma classe derivada que herde as características e implemente os métodos da classe TextReader.

Imports System

Imports System.IO

 

Module Module1

 

    Private Const CONTADOR As Integer = 6

 

    Public Sub Main()

       Dim x As Integer

       Dim Itens(CONTADOR) As String

    Dim Arquivo As TextWriter = File.CreateText("Saida_Console.txt")

    Dim Saida As TextWriter = Console.Out

    Console.WriteLine("Insira {0} itens. Tecle ENTER entre cada item informado.", CONTADOR - 1)

 

    For x = 0 To CONTADOR - 1

         Itens(x) = Console.ReadLine

      Next

 

    Console.WriteLine()

    Console.SetOut(Arquivo)

    Console.WriteLine("Itens incluídos")

 

   For x = 0 To CONTADOR - 1

     Console.WriteLine(Itens(x))

     Next

 

   Arquivo.Close()

   Console.SetOut(Saida)

   Console.ReadLine()

 

End Sub

 

End Module

O código acima irá gerar o arquivo Saida_Console.txt com os dados inseridos via console pelo usuário.

A classe Environment

A classe Environment permite que você obtenha informações a respeito do ambiente onde os seus programas são executados ( sistema operacional ,variáveis de ambiente , configurações , etc..). Alguns de seus métodos e propriedades são descritos a seguir:

Membro Descrição
OSVersion  Retorna informações a respeito do sistema operacional atual
Version  Obtêm informações sobre a versão da aplicação
CurrentDirectory  Retorna o caminho atual do diretório
CommandLine  Retorna a linha de comandos completa que iniciou a aplicação
SystemDirectory  Retorna o caminho do diretório do sistema.(Ex: \windows\system32 )
GetlogicalDrivers  Retorna uma lista das unidades disponíveis em um array.
GetEnvironmentVariable  Retorna o valor de uma variável de ambiente específica.(Ex: comando Set , caminho :path , diretório temporário:temp)
GetCommandLineArgs  Retorna os itens listados na linha de comando quando a aplicação foi iniciada.
Exit  Encerra uma aplicação , retornando um código de erro(opcional)

A classe Random

A classe Random é usada para gerar números aleatórios (inteiros(Integer) , duplos(double), etc.) Seus métodos são :

Membro Descrição
Next  Retorna um número entre 0 e o valor máximo possível para um inteiro ( algo em torno de 2 bilhões)
Next(ValorMaximo)  Retorna um número entre 0 e o valor definido por ValorMaximo
Next(ValorMinimo, ValorMaximo)  Retorna um inteiro entre os valores mínimo e máximo
NextDouble  Retorna um tipo double entre 0 e 1

Para gerar números aleatórios entre 0 e 100 fazemos:

Dim oAleatorio As New Random

Dim valor As Integer = oAleatorio.Next(1,10)

As classes de conjuntos : ArrayList

O .NET Framework possui classes que estendem a classe array. Estas classes permitem o gerenciamento de uma lista de informações (como nos arrays) mas possuem mais recursos que facilitam tarefas como ordenação , incluir e recuperar itens da lista. Estas classes geralmente se encontram no namespace System.Collections. Vamos ver a classe ArrayList:

ArrayList é um conjunto parecido com um array , tem a seu favor uma maior facilidade no tratamento dos elementos e a permissão de armazenar qualquer tipo de dados (até objetos). Geralmente você usa esta classe quando precisa tratar uma lista de itens dinâmica e não tem uma noção de até onde o conjunto vai crescer.

Para criar um instância da classe ArrayList podemos fazer assim :

Dim arrLista as New ArrayList(20)  - cria um arraylist

A seguir uma lista das principais propriedades e métodos da classe ArrayList:

vai continuar....


José Carlos Macoratti