Procedura: effettuare il refactoring di codice con campo incapsulato
Aggiornamento: novembre 2007
Nella procedura seguente viene descritto come creare una proprietà da un campo esistente, quindi come aggiornare il codice con i riferimenti alla nuova proprietà. Utilizzare questa procedura per eseguire l'operazione di refactoring Incapsula campo.
Per creare una proprietà da un campo
Creare un'applicazione console come descritto nella sezione di esempio.
Per ulteriori informazioni, vedere Creazione di applicazioni console (Visual C#).
In Editor di codice e di testo posizionare il cursore nella dichiarazione sul nome del campo che si desidera incapsulare. Nell'esempio seguente posizionare il cursore sulla parola width:
public int width, height;
Scegliere Incapsula campo dal menu Effettua refactoring.
Verrà visualizzata la finestra di dialogo Finestra di dialogo Incapsula campo.
Per visualizzare la finestra di dialogo Incapsula campo, è possibile inoltre premere i tasti di scelta rapida CTRL+R, E
oppure fare clic con il pulsante destro del mouse sul cursore, scegliere Effettua refactoring e quindi Incapsula campo.
Specificare le impostazioni.
Premere INVIO o fare clic sul pulsante OK.
Se l'opzione Anteprima modifiche riferimento è selezionata, verrà visualizzata la finestra Anteprima modifiche riferimento. Fare clic sul pulsante Applica.
Nel file di origine verrà visualizzato il codice delle funzioni di accesso get e set di seguito riportato:
public int Width { get { return width; } set { width = value; } }
Anche il codice nel metodo Main viene aggiornato con il nuovo nome della proprietà Width.
Square mySquare = new Square(); mySquare.Width = 110; mySquare.height = 150; // Output values for width and height. Console.WriteLine("width = {0}", mySquare.Width);
Esempio
Per impostare questo esempio, creare un'applicazione console denominata EncapsulateFieldExample, quindi sostituire Program con il codice riportato di seguito. Per ulteriori informazioni, vedere Creazione di applicazioni console (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);
}
}