Cómo: Refactorizar código con Encapsular campo
Actualización: noviembre 2007
El procedimiento siguiente describe cómo crear una propiedad a partir de un campo existente y, a continuación, actualizar el código con referencias a la nueva propiedad. Este procedimiento se utiliza para realizar la operación de refactorización Encapsular campo.
Para crear una propiedad a partir de un campo
Cree una aplicación de consola como se describe en la sección Ejemplo.
Para obtener más información, vea Crear aplicaciones de consola (Visual C#).
En Editor de código y de texto, coloque el cursor en la declaración, en el nombre del campo que desea encapsular. En el ejemplo siguiente, coloque el cursor en palabra width:
public int width, height;
En el menú Refactorizar, haga clic en Encapsular campo.
Aparecerá el Encapsular campo (Cuadro de diálogo).
También puede presionar CTRL+R, E, que es el método abreviado de teclado para mostrar el cuadro de diálogo Encapsular campo.
O bien, puede hacer clic con el botón secundario en el cursor, señalar Refactorizar y, a continuación, hacer clic en Encapsular campo para mostrar el cuadro de diálogo Encapsular campo.
Especifique la configuración.
Presione ENTRAR o haga clic en el botón Aceptar.
Si ha seleccionado la opción Vista previa de los cambios de referencia, se abrirá la ventana Vista previa de los cambios de referencia. Haga clic en el botón Aplicar.
Aparece el siguiente código fuente de los descriptores de acceso get y set en el archivo de código fuente:
public int Width { get { return width; } set { width = value; } }
El código del método Main también se actualiza con el nuevo nombre de propiedad Width.
Square mySquare = new Square(); mySquare.Width = 110; mySquare.height = 150; // Output values for width and height. Console.WriteLine("width = {0}", mySquare.Width);
Ejemplo
Para preparar este ejemplo, cree una aplicación de consola denominada EncapsulateFieldExample y, a continuación, reemplace Program con el código siguiente. Para obtener más información, vea Crear aplicaciones de consola (Visual C#).
class Square
{
// Select the word 'width' 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);
}
}