Encapsular Campo Refatoração (C#)

O Campo encapsular operação de refatoração permite criar rapidamente uma propriedade de um campo existente e atualizar facilmente 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 possui esse 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 a particulare gera obter e Definir acessadores para aquele campo. Em alguns casos, apenas um get acessador é gerado, como, por exemplo, quando o campo é declarado como somente leitura.

O mecanismo de refatoração atualiza o seu código com referências a 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 código de exemplo a seguir.

    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 Código e o Editor de texto, 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 Encapsular campo.

    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 cursor, aponte para Refactore, em seguida, clique em Encapsular campo 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 o Aplicar botão.

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

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

    O código de 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. Os trechos de código são modificáveis. Para obter mais informações, consulte Como: Gerenciar trechos de código.

Consulte também

Referência

Trechos de código do C# Visual

Conceitos

Refatoração (C#)