Refactoring di proprietà e campi

Visual Studio fornisce diversi refactoring per l'uso di proprietà e campi. È possibile accedere a questi refactoring tramite il menu Azioni rapide e refactoring (CTRL+).).

Incapsulare il campo

Applica a: C#, Visual Basic

Questo refactoring trasforma un campo in una proprietà e aggiorna tutti gli utilizzi di tale campo per usare la proprietà appena creata. In questo modo è possibile controllare l'accesso scrivendo codice di convalida nella proprietà .

  1. Evidenziare o posizionare il cursore di testo all'interno del nome del campo da incapsulare:

    • C# :

      Screenshot del codice evidenziato - C#.

    • Visual Basic:

      Screenshot del codice evidenziato - Visual Basic.

  2. Eseguire quindi una delle operazioni seguenti:

    • Keyboard
      • Premere CTRL+R, quindi CTRL+E. La scelta rapida da tastiera può essere diversa in base al profilo selezionato.
      • Premere CTRL+per attivare il menu Azioni rapide e refactoring e selezionare la voce Incapsulare il campo dal popup della finestra di anteprima.
    • Mouse
      • Selezionare Modifica > refactoring > Campo incapsulato.
      • Fare clic con il pulsante destro del mouse sul codice, selezionare il menu Azioni rapide e refactoring e selezionare la voce di campo Incapsulate nella finestra popup della finestra di anteprima.
    Selection Descrizione
    Incapsulare il campo (e usare la proprietà) Incapsula il campo con una proprietà e aggiorna tutti gli utilizzi del campo per usare la proprietà generata
    Incapsulare il campo (ma ancora usare il campo) Incapsula il campo con una proprietà, ma lascia invariati tutti gli utilizzi del campo

    La proprietà viene creata e i riferimenti al campo vengono aggiornati, se selezionato.

    Suggerimento

    Usare il collegamento Anteprima modifiche nella finestra popup per visualizzare il risultato prima di eseguirne il commit.

    • C# :

      Screenshot del risultato della proprietà Encapsulate - C#.

    • Visual Basic:

      Screenshot del risultato della proprietà Encapsulate - Visual Basic.

Eseguire la conversione tra la proprietà automatica e la proprietà completa

Si applica a: C#

Questo refactoring esegue la conversione tra una proprietà implementata automaticamente e una proprietà completa, utile quando la logica della proprietà è stata modificata ed è necessario un campo sottostante.

  1. Posizionare il cursore sul nome della proprietà.

  2. Premere CTRL+ per attivare il menu Azioni rapide e refactoring.

  3. Selezionare una delle due opzioni seguenti:

    Selezionare Converti in proprietà completa.

    Screenshot della proprietà Convert auto in proprietà completa.

    Selezionare Usa proprietà automatica.

    Screenshot di Convert full property to auto property (Converti proprietà completa in proprietà automatica).

Eseguire la conversione tra il metodo Get e la proprietà

Applica a: C#, Visual Basic

Questa sezione illustra la conversione bidirezionale tra metodi Get e proprietà.

Convertire il metodo Get in proprietà

Questo refactoring converte un metodo Get in una proprietà (e facoltativamente il metodo Set), utile quando un metodo Get non contiene logica.

  1. Posizionare il cursore nel nome del metodo Get.

  2. Eseguire quindi una delle operazioni seguenti:

    • Keyboard
      • Premere CTRL+per attivare il menu Azioni rapide e refactoring e selezionare Sostituisci metodo con proprietà dal popup della finestra di anteprima.
    • Mouse
      • Fare clic con il pulsante destro del mouse sul codice, scegliere il menu Azioni rapide e refactoring e scegliere Sostituisci metodo con proprietà dal popup della finestra di anteprima.
  3. (Facoltativo) Se si dispone di un metodo Set, è anche possibile convertire il metodo Set in questo momento selezionando Sostituisci metodo Get e Metodo Set con la proprietà .

  4. Se si è soddisfatti della modifica nell'anteprima del codice, premere INVIO o fare clic sulla correzione dal menu e verrà eseguito il commit delle modifiche.

Esempio:

private int MyValue;

// Before
public int GetMyValue()
{
    return MyValue;
}

// Replace 'GetMyValue' with property

// After
public int MyValue
{
    get { return MyValue; }
}

Convertire la proprietà nel metodo Get

Questo refactoring converte una proprietà in un metodo Get, utile quando una proprietà comporta più dell'impostazione immediata e il recupero di un valore.

  1. Posizionare il cursore nel nome del metodo Get.

  2. Eseguire quindi una delle operazioni seguenti:

    • Keyboard
      • Premere CTRL+per attivare il menu Azioni rapide e refactoring e selezionare Sostituisci proprietà con metodi dal popup della finestra di anteprima.
    • Mouse
      • Fare clic con il pulsante destro del mouse sul codice, scegliere il menu Azioni rapide e refactoring e scegliere Sostituisci proprietà con metodi dal popup della finestra di anteprima.
  3. Se si è soddisfatti della modifica nell'anteprima del codice, premere INVIO o fare clic sulla correzione dal menu e verrà eseguito il commit delle modifiche.