Como compartilhar dados entre várias instâncias de uma classe no Visual translation from VPE for Csharp .NET ou no Visual translation from VPE for Csharp 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 815778
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 311319.

NESTA TAREFA

Sumário
Este artigo descreve como compartilhar dados entre várias instâncias de uma classe no Visual translation from VPE for Csharp .NET usando variáveis estáticas .

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • O Visual Studio .NET ou Visual Studio 2005
  • Translation from VPE for Csharp Visual .NET ou Visual translation from VPE for Csharp 2005
back to the top

Informações adicionais

Cada instância da classe mantém seus próprios dados. Os dados são isolados de tal forma que se um membro de dados for alterado em uma instância da classe, o mesmo membro de dados em outra instância da classe não será afetado. No entanto, os membros estáticos de uma classe fornecem uma maneira para todas as instâncias da classe para usar o mesmo local da memória ou a função.

Se você prefixar um dos membros da dados com a palavra-chave estática , translation from VPE for Csharp Visual .NET ou Visual translation from VPE for Csharp 2005 cria um único local para esse membro de dados estáticos. O membro de dados está exposto a cada instância da classe que faz referência o local de armazenamento. Se você alterar o valor do membro de dados compartilhados em uma instância de classe, ele será alterado em todas as outras instâncias.

back to the top

Exemplo passo a passo

  1. Inicie o Visual Studio .NET ou Visual Studio 2005.
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Clique em projetos do Visual translation from VPE for Csharp em Tipos de projeto e, em seguida, clique em Aplicativo de console em modelos . Por padrão, Class1.cs é criado.

    Observação No Visual Studio 2005, clique Visual translation from VPE for Csharp em Tipos de projeto e clique em Aplicativo de console CLR em modelos
  4. Exclua todo o código que é gerado no arquivo Class1.cs e cole o código a seguir:
    using System;public class  ClsDemo{   public static int MySharedData;    public int MyMember;	   private static string m_myPropertyData;   public int MyInstanceMember()   {      return MySharedData;   }   public static string MySharedProperty   {      get      {         return m_myPropertyData;      }      set      {         m_myPropertyData = value;      }   }   public static string MySharedFunction()   {      return "I am shared function.";   }}		class class1{   static  void Main()    {         ClsDemo.MySharedData = 100;              // Create an object of the ClsDemo class.      ClsDemo objDemo1 = new ClsDemo();             // Create a second object of the ClsDemo class.      ClsDemo objDemo2 = new ClsDemo();       //Initialize MyMember for the objDemo1 object.      objDemo1.MyMember = 120;             Console.WriteLine("SharedData accessed by the first instance of ClsDemo {0}",objDemo1.MyInstanceMember());      Console.WriteLine("SharedData accessed by the second instance of ClsDemo {0}",objDemo2.MyInstanceMember());      Console.WriteLine("UnSharedData accessed by the first instance of ClsDemo {0}",objDemo1.MyMember);      Console.WriteLine("UnSharedData accessed by the second instance of ClsDemo {0}",objDemo2.MyMember);      // Access the shared property.      ClsDemo.MySharedProperty = "I am shared property.";      Console.WriteLine(ClsDemo.MySharedProperty);         // Access the shared function.      Console.WriteLine(ClsDemo.MySharedFunction());      Console.WriteLine("Press the ENTER key...");      Console.ReadLine();   }}
  5. Salve o projeto.
  6. Para executar o projeto, clique em Iniciar no menu Debug .
Duas instâncias da mesma classe são criadas neste exemplo. Quando o valor 100 é atribuído à variável MySharedData na primeira instância, o mesmo valor ( 100 ) é exibido quando o valor é consultado para de segunda instância. Isso não é o caso com a variável MyMember . Porque a variável MyMember não for prefixada com a palavra-chave estática , a variável não pode ser compartilhada entre várias instâncias criados no trecho de exemplo de código.

back to the top

Propriedades

ID do Artigo: 815778 - Última Revisão: 12/11/2006 21:03:44 - Revisão: 2.4

Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# 2005 Express Edition

  • kbmt kbnamespace kbprogramming kbhowtomaster KB815778 KbMtpt
Comentários