NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosNet : Dotnetframework002
Quer receber novidades e e-books gratuitos?

Introdução ao .NET Framework

Objetivos:

Este parte do tutorial discute o .NET Framework e o Common Language Runtime. Também fornece introdução a sintaxe de classes, estruturas e declarações de métodos.

Pré-requisitos:

Nenhum.

Usando os tipos do .NET Framework na sua aplicação

Quando você começa a escrever uma aplicação, automaticamente você começa a fazer referência a .NET Framework Base Class Library. Você referencia ela para que a sua aplicação esteja apta para instanciar os tipos da .NET Framework Base Class Library.

Visual Basic .NET

Dim myInteger As Integer

Visual C#

int myInteger;

Estas linhas dizem ao Common Language Runtime para alocar a quantidade de memória apropriada para uma variável do tipo inteiro. Embora estas linhas criem a variável elas não definem um valor para ela. Você pode definir um valor usando o operador de atribuição como mostrado a seguir:

Visual Basic .NET

myInteger = 42

Visual C#

myInteger = 42;

Você também pode optar por definir um valor para a variável no momento de sua criação como mostrado abaixo:

Visual Basic .NET

Dim myInteger As Integer = 42

Visual C#

Int myInteger = 42;

Nota

Embora a declaração e a inicialização em uma única linha seja desencorajada no Visual Basic 6 devido a perda de performance a declaração e atribuição em uma única linha no Visual Basic .NET não gera problema de perda de performance.

Tipos por referência

Criar a instância de um tipo é um processo de dois passos. O primeiro passo é declarar a o tipo da variável, isto reservará a quantidade de memória necessária para a criação do objeto. A seguir mostramos como declarar um objeto:

Visual Basic .NET

Dim myForm As System.Windows.Forms.Form

Visual C#

System.Windows.Forms.Form myForm;

As linhas dizem ao runtime para reservar memória suficiente para armazenar uma variável do tipo Form e chama esta variável de myForm. Neste momento o objeto Form ainda não foi criado na memória. O segundo passo é instanciar o objeto e é mostrado nas linhas a seguir:

Visual Basic .NET

myForm = New System.Windows.Forms.Form()

Visual C#

myForm = new System.Windows.Forms.Form();

As linhas acima chamam o método construtor do tipo System.Windows.Forms.Form definido com a palavra chave New (new). Este construtor é um método especial que é chamado somente no início da vida do objeto. Ele contém qualquer código que seja  necessário para definir o ambiente ou os valores para que o objeto possa trabalhar. Se algum parâmetro por requisitado pelo construtor ele deve vir no final da linha entre parentêses. O exemplo a seguir mostra a declaração e a instanciação de uma classe hipotética chamada Widget que requer um parâmetro do tipo String.

Visual Basic .NET

Dim myWidget As Widget

myWidget = New Widget(“Esta string é requerida pelo construtor”)

Visual C#

Widget myWidget;

myWidget = new Widget(“Esta string é requerida pelo construtor”);

Se desejar pode combinar a declaração e a instanciação em um única linha de comando. Ao declarar e instanciar um objeto na mesma linha você reserva a memória para ser utilizada pelo objeto e imediatamente cria o objeto. Embora isto significasse um custo alto de performance em versões anteriores do Visual Basic para o Visual Basic .NET e para o Visual C# isto não implica em perda de performance. Os textos a seguir exemplificam o que falamos:

Visual Basic .NET

Dim myForm As New System.Windows.Forms.Form()

Visual C#

System.Windows.Forms.Form myForm = new System.Windows.Forms.Form();

Não importa se a variável vai armazenar valores de tipos de valor ou de tipos por referência. Ela deve ser inicializada sempre. Para campos de classes e estruturas no Visual Basic .NET os tipos são inicializados com valores padrão na declaração. Tipos numéricos (como Inteiros) e pontos flutuantes recebem zero como valor padrão. Variáveis boleanas recebem o valor False como padrão e tipos por referência recem nulo como padrão.

No C# as variáveis por referência recebem nulo como padrão. È recomendado que você não trabalhe com estes valores padrão. Estas variáveis não devem ser utilizadas antes de se definir um valor pra ela.

Usando tipos por valor e tipos por referência

Uma variável que armazena um tipo por valor contém todos os dados que ela representa. Uma variável que armazena um tipo por referência contém apenas o endereço do objeto que ela representa.  Diferenciar isto é muito importante. Considere o exemplo abaixo:

Visual Basic .NET

Dim x,y As Integer

x = 15

y = x

x = 30

‘ Qual é o valor de y ?

Visual C#

int x,y;

x = 15;

y = x;

x = 30;

// Qual é o valor de y ?

Neste exemplo duas variáveis inteiras chamadas x e y são criadas. A x é atribuído o valor 15 a y é atribuído o valor de x. Em seguida x recebe o valor 30 e uma questão é colocada: Qual é o valor de y ? A resposta para esta pergunta parece óbvia  y = 15 pois x e y são variáveis distintas e mudar o valor de uma não altera o valor da outra. Quando a linha y = x é encontrada o valor de x é copiado para y e não é criada nenhuma conexão entre x e y.

Esta situação muda quando a variável é do tipo por referência. Vamos reconsiderar  o exemplo acima usando um tipo por referência (Form).

Visual Basic .NET

Dim x,y As System.Windows.Forms.Form

x = New System.Windows.Forms.Form()

x.Text = “Este é o formulário 1”

y = x

x.Text = “Este é o formulário 2”

‘ Qual o valor retornado pela propriedade y.Text ?

Visual C#

System.Windows.Forms.Form x,y;

x = new System.Windows.Forms.Form();

x.Text = “Este é o formulário 1”;

y = x;

y.Text = “Este é o formulário 2.”;

// Qual o valor retornado pela propriedade y.Text ?

Qual o valor da propriedade y.Text ? Neste momento a resposta não parece óbvia. Como System.Windows.Forms.Form é um tipo por referência a variável x não contém um Form  e sim um ponteiro para o Form. Quando a linha y = x  é encontrada o runtime copia a referência da variável x para a variável y. Então neste momento a variável x e a y apontam para a mesma instância do Form.  Como as duas variáveis referenciama mesma instância de um objeto elas retornam o mesmo valor para a propriedade do objeto. Então  x e y retornam “Este é o formulário 2.”.

Os comandos Imports e Using

Até este momento sempre que você precisou acessar uma classe da .NET Framework Class Library  foi necessário você especificar o nome todo da classe. Por exemplo:

System.Windows.Forms.Form

Isto é chamado de nome completamente qualificado (fully-qualified name) isto significa se referenciar a classe através de todo o seu namespace. Você pode fazer seu ambiente de desenvolvimento suportar vários namespaces usando os comandos Imports (Visual Basic .NET) ou using (Visual C#). Esta técnica permite que você  se refira a classe usando apenas o nome dela e não o namespace completo. Então você pode se referir a classe System.Windows.Forms.Form  como Form. No Visual Basic .NET  o comando Imports deve ser colocado no topo do código precedendo todo e qualquer comando, exceto o Option. No Visual C# o comando using precisa ocorrer  antes de qualquer outro elemento  como class ou struct.  O exemplo abaixo demostra o uso destes comandos:

Visual Basic .NET

Imports System.Windows.Forms.Form

Visual C#

Using System.Windows.Forms.Form;

Se dois tipos tem um mesmo nome você deve usar o nome completo dele para evitar o conflito de nomes. Então se você vai usar o MyNameSpaceOne e o MyNameSpaceTwo ecada um contém um classe Widget você deve referenciar a classe utilizando o nome completo dela: MyNameSpaceOne.Widget ou MyNameSpaceTwo.Widget para ter certeza do resultado.

No C# você pode resolver este conflito criando aliases. Um alias permite que você escolha um nome para se referenciar a classe. Você pode utilizar um  alias usando o comando using. Conforme exemplo abaixo:

Visual C#

using myAlias = MyNameSpaceTwo.Widget;

Depois de implementar um alias você pode usá-lo representando a classe que ele referencia. Conforme exemplo abaixo:

Visual C#

//  A partir de agora você vai se referir a MyNameSpaceTwo como myAlias.

//  As linhas abaixo produzem o mesmo resulytado

MyNameSpaceTwo.Widget anotherWidget = new MyNameSpaceTwo.Widget();

myAlias anotherWidget = new myAlias();

Você não pode executar esta técnica no Visual Basic .NET.

Referenciando a bliblotecas externas

Você pode usar bibliotecas de classes que não fazem parte do .NET Framework Base Class Library como classes desenvolvidas por terceiros. Para acessar estas classes você precisa referenciá-las.

Para criar uma referência a uma biblioteca externa

1. No Solution Explorer clique aponte para o nó References do seu projeto

2. No pop-up menu selecione Add References. A caixa de diálogo Add Reference será exibida

3. Selecione a aba apropriada para a biblioteca que deseja referenciar. Bibliotecas .NET estão disponíveis na aba .NET. Bibliotecas COM  estão disponíveis na aba COM e projetos locais do Visual Studio .NET estão disponíveis na aba Projects.

4. Localize a biblioteca que deseja referenciar , aponte o ponteiro do mouse para ela e dê um duplo clique para adicioná-la a caixa de componentes selecionados. Clique no botão OK para confirmar sua escolha.

1 Visão geral do .NET Framework e do CLR
1 Comunicação .NET e VB 6.0 (com Visual Studio.NET 2005) - Parte I
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 1
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 2
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 3
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 4
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 5
1 VB: Menu Principal, Menu PopUp e Arquivos Texto
Visual Studio
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control
1 Visual Web Developer - 2005 - Beta 2 - Introdução
1 ASP.NET 2.0 - Conhecendo o GridView
1 ASP.NET 2.0 - Utilizando o GridView e DetailsView
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control - Parte 2
1 ASP.NET 2.0 - Utilizando o XmlDataSource
1 Envio de e-mail através de formulário web
1 ADO.NET 2.0 - Conhecendo as novidades parte 1
1 Série Visual Source Safe - Parte 1
1 Série Visual Source Safe - Parte 3
1 URL Indexável – Reescrever URL de uma forma amigável
1 Permissão de Página Utilizando Web.Config
1 Usando public interface
1 Trabalhando com o componente TabContainer
1 Adicionando Menu no DataGridView
ASP.NET
1 Conhecendo o ambiente integrado do WebMatrix
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte I
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte II
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte III
1 Acessando um banco de dados facilmente com ADO.Net e Datagrid
1 Desvendando os segredos do Dataset- Parte I
1 Construindo um Sistema de Publicação de Notícias – Parte 1
1 Construindo um Sistema de Publicação de Notícias – Parte 2
1 Construindo um Sistema de Publicação de Notícias – Parte 3
1 Construindo um Sistema de Publicação de Notícias – Parte 4
1 Construindo um Sistema de Publicação de Notícias – Parte 5
1 Login com Perfil de Acesso
1 Guest Book com XML - Parte 1
1 Guest Book com XML - Parte 2
1 Agendando Datas no Calendário com XML
1 Filtrando e Organizando Dados com o Controle DataView
1 Lista de Dados com Subitens – Parte 1
1 Lista de Dados com Subitens – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 1
1 Trabalhando com Arquivos e Diretórios – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 3
1 Sistema de Enquetes baseado em WebServices – Parte 1
1 Sistema de Enquetes baseado em WebServices – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 3
1 Upload de Arquivos
1 Crie seu próprio código de verificação
1 Login e Senha com FormsAuthentication – Parte 1
1 Login e Senha com FormsAuthentication – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 4
1 Sistema de Enquetes baseado em WebServices – Parte 5
1 Sistema de Enquetes baseado em WebServices – Parte 6