Como criar uma propriedade do indexador no Visual Basic .NET ou no Visual Basic 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: 311323
Para uma versão deste artigo do Microsoft Visual Basic 6.0, consulte 286755.

NESTA TAREFA

Sumário
Este artigo descreve como criar uma propriedade do indexador no Visual Basic .NET ou no Visual Basic 2005 usando o atributo de propriedade padrão.

Observação : A Microsoft translation from VPE for Csharp indexador aparece para um programador de Visual Basic como uma propriedade de item padrão e uma propriedade padrão de Visual Basic aparece para um Microsoft translation from VPE for Csharp programador como um indexador. Os indexadores permite que instâncias de uma classe a serem indexadas da mesma forma como matrizes.

back to the top

Criar um projeto de biblioteca de classe

Esta seção descreve como criar um Visual Basic .NET ou o projeto de biblioteca de classe Visual Basic 2005 que implementa uma propriedade do indexador .
  1. Crie um projeto de biblioteca de classe Visual Basic.NET ou Visual Basic 2005 novo. Nomeie o projeto VBIndexer .
  2. No Solution Explorer, selecione Class1.vb e, em seguida, clique com o botão direito do mouse. Selecione Renomear no menu de atalho e, em seguida, nomeie-o FileByteArray.vb .
  3. Exclua todas as linhas de código do módulo de classe FileByteArray . Cole as seguintes linhas de código no módulo de classe:
    Imports SystemImports System.IOPublic Class FileByteArray    Private MyStream As Stream    Public Sub New(ByVal FileName As String)        MyStream = New FileStream(FileName, FileMode.Open)    End Sub    Public Sub Close()        MyStream.Close()        MyStream = Nothing    End Sub    Default Public Property Item(ByVal index As Long) As Byte        Get            Dim buffer(1) As Byte            MyStream.Seek(index, SeekOrigin.Begin)            MyStream.Read(buffer, 0, 1)            Return buffer(0)        End Get        Set(ByVal Value As Byte)            Dim buffer(1) As Byte            buffer(0) = Value            MyStream.Seek(index, SeekOrigin.Begin)            MyStream.Write(buffer, 0, 1)        End Set    End Property    Public ReadOnly Property Length() As Long        Get            Return MyStream.Seek(0, SeekOrigin.End)        End Get    End PropertyEnd Class						
  4. No menu Build , clique em Criar VBIndexer .
back to the top

Criar um arquivo de texto de exemplo

Esta seção descreve como criar um arquivo de texto de exemplo que você pode usar como um arquivo de entrada para a classe FileByteArray de teste.
  1. Clique em Iniciar e clique em Executar . Na caixa Abrir , digite o bloco de notas para abrir o bloco de notas.
  2. Selecione o texto a seguir, clique com o botão direito do mouse nele e, em seguida, clique em Copiar . No bloco de notas, clique em Colar no menu Editar para colar o texto:
    The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.					
  3. Salvar este arquivo como Test.txt na pasta raiz da unidade C e, em seguida, feche o arquivo.

back to the top

Criar um aplicativo de teste

Esta seção descreve como criar um projeto de exemplo Visual Basic.NET ou Visual Basic 2005 para testar a classe FileByteArray .
  1. Abra Visual Studio .NET ou Visual Studio 2005. No menu arquivo , clique em novo e, em seguida, clique em Project .
  2. Em Project Types , clique em Projetos do Visual Basic e, em modelos , clique em Windows Application .

    Observação No Visual Studio 2005, clique em Visual Basic em Project Types .
  3. Nomeie o projeto TestIndexer . Selecione Adicionar a solução e em seguida, clique em OK . Form1 é adicionada para o projeto por padrão. Observação você deve alterar o código no Visual Basic 2005. Por padrão, Visual Basic cria dois arquivos para o projeto quando você cria um projeto Windows Forms. Se o formulário é denominado Form1, os dois arquivos que representam o formulário são chamados de Form1.vb e Form1.Designer.vb. Escreva o código no arquivo Form1.vb. O Windows Forms Designer escreve o código no arquivo Form1.Designer.vb. O Windows Forms Designer usa a palavra-chave partial para dividir a implementação de Form1 em dois arquivos separados. Esse comportamento impede que o código gerado pelo designer sendo intercaladas com seu código.

    Para obter mais informações sobre os novos aprimoramentos linguagem Visual Basic 2005, visite o seguinte site da Web Microsoft Developer Network (MSDN): Para obter mais informações sobre classes parciais e o Windows Forms Designer, visite o seguinte site da MSDN:
  4. Coloque um botão de comando no Form1 e altere sua propriedade Text para Reverter o arquivo .
  5. No Solution Explorer, clique com o botão direito do mouse TestIndexer e, em seguida, selecione Definir como projeto de inicialização no menu de atalho.
  6. Clique com o botão direito do mouse em TestIndexer e, em seguida, selecione Add Reference no menu de atalho. Na caixa de diálogo Add Reference , selecione projetos guia projeto VBIndexer do clique duplo e, em seguida, clique em OK .
  7. Na janela Designer, clique com o botão direito do mouse no Form1 e selecione View Code .
  8. Na parte superior da janela de código do Form1, adicione a seguinte instrução Imports :
    Imports VBIndexer					
  9. Na janela Designer para Form1, clique duas vezes em Button1 . Na janela código, substitua o procedimento de evento Button1_Click com as seguintes linhas de código:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        Dim FileObj As FileByteArray = New FileByteArray("C:\TEST.TXT")        Dim len, i As Long        len = FileObj.Length        For i = 0 To len / 2            Dim t As Byte            t = FileObj(i)            FileObj(i) = FileObj(len - i - 1)            FileObj(len - i - 1) = t        Next        MessageBox.Show(FileObj.Length.ToString)        FileObj.Close()    End Sub					
  10. Crie projeto TestIndexer. No menu Debug , clique em Iniciar para executar o aplicativo.
  11. Clique no botão comando para reverter os bytes de arquivo. A caixa de mensagem exibe o número de bytes que serão revertidas.
  12. No Microsoft Windows Explorer, localize o arquivo Test.txt na unidade C e clique duas vezes nele para abrir o arquivo. Observe que o conteúdo do arquivo é revertido.

back to the top

Discussão de código

  • Neste exemplo, você acessar um indexador usando o operador () no objeto de classe base. No entanto, você também pode acessar um indexador usando a propriedade de item , por exemplo, FileObj.Item(i).
  • No exemplo anterior, indexador ( item propriedade neste caso) é do byte de tipo e leva um único índice de tipo longo (inteiro de 64 bits). O acessador get define o código para um byte do arquivo e o acessador set define o código para gravar um byte para o arquivo. Dentro de acessador set, o parâmetro predefinido valor tem o valor que está sendo atribuído a elemento da matriz virtual.
  • Para definir o atributo padrão de uma propriedade no Visual Basic .NET ou Visual Basic 2005, é necessário pelo menos um parâmetro.
  • Como os indexadores são um recurso poderoso, é importante usá-las somente quando a abstração de matriz como faz sentido. Sempre cuidadosamente se é apenas como claro para usar métodos regulares.
  • Para uma classe de coleção, uma propriedade de item é um bom candidato para um indexador. Coleções, a sintaxe Collection.Item(0) e Collection(0) é freqüentemente usado.

back to the top

REFERÊNCIAS

Para obter informações adicionais sobre as propriedades padrão, consulte o tópico "Padrão propriedades para o componentes" na Ajuda do Visual Studio .NET online.

Para obter informações adicionais sobre a classe de coleção , consulte o tópico "Criando seu Walkthroughs de classe de coleção" no Visual Studio .NET ou Visual Studio 2005 ajuda online.

back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 311323 - Última Revisão: 05/11/2007 07:08:50 - Revisão: 2.5

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB311323 KbMtpt
Comentários