Compartilhar via


Encapsular campo refatoração (C#)

O Campo encapsular operação de refatoração permite criar rapidamente uma propriedade de um campo existente e atualizar diretamente o seu código com referências a nova propriedade.

Quando um campo é pública, outros objetos têm acesso direto a esse campo e pode modificá-lo, sem ser detectado pelo objeto que é proprietária desse campo.Usando Propriedades para encapsular esse campo, você pode não permitir acesso direto aos campos.

Para criar a nova propriedade, o Campo encapsular operação altera o modificador de acesso para o campo que você deseja encapsular para particulare gera obter e Definir acessadores para aquele campo.Em alguns casos, apenas um get o acessador é gerado, como, por exemplo, quando o campo está declarado como somente leitura.

O mecanismo de refatoração atualiza o seu código com referências à nova propriedade nas áreas especificadas na Referências de atualização seção a Campo encapsular caixa de diálogo.

Para criar uma propriedade de um campo

  1. Crie um aplicativo de console chamado EncapsulateFieldExamplee, em seguida, substitua Program com o seguinte exemplo de código.

    class Square
    {
        // Select the word 'width' and then use Encapsulate Field.
        public int width, height;
    }
    class MainClass
    {
        public static void Main()
        {
            Square mySquare = new Square();
            mySquare.width = 110;
            mySquare.height = 150;
            // Output values for width and height.
            Console.WriteLine("width = {0}", mySquare.width);
            Console.WriteLine("height = {0}", mySquare.height);
        }
    }
    
  2. No O Editor de código, coloque o cursor na declaração, no nome do campo que você deseja encapsular.No exemplo abaixo, coloque o cursor na palavra width:

    public int width, height;
    
  3. Sobre o Refactor menu, clique em Encapsulate Field.

    O Campo encapsular caixa de diálogo aparece.

    Você também pode digitar o atalho de teclado CTRL + R, E para exibir o Campo encapsular caixa de diálogo.

    Você também pode direito o cursor, aponte para Refactore, em seguida, clique em Encapsulate Field para exibir o Encapsular campo caixa de diálogo.

  4. Especifique as configurações.

  5. Pressione ENTER ou clique o OK botão.

  6. Se você tiver selecionado a Visualizar alterações de referência opção, em seguida, a Visualizar alterações de referência janela é aberta.Clique no Aplicar botão.

    O seguinte get e set código do acessador é exibido no seu arquivo de origem:

    public int Width
    {
        get { return width; }
        set { width = value; }
    }
    

    O código do Main método também é atualizado para o novo Width nome de propriedade.

    Square mySquare = new Square();
    mySquare.Width = 110;
    mySquare.height = 150;
    // Output values for width and height.
    Console.WriteLine("width = {0}", mySquare.Width);
    

Comentários

O Campo encapsular operação só é possível quando o cursor está posicionado na mesma linha como a declaração de campo.

Para declarações de declarar vários campos, Campo encapsular usa a vírgula como um limite entre campos e inicia a refatoração no campo que está mais próximo do cursor e na mesma linha como o cursor.Você também pode especificar qual campo você deseja encapsular, selecionando o nome do campo na declaração.

O código que é gerado por esta operação de refatoração é modelado pelo recurso de trechos de código de campo encapsulate.Code Snippets são modificáveis.Para obter mais informações, consulte Trechos de código.

Consulte também

Referência

Trechos de código do C# Visual

Conceitos

Refatoração (C#)