Refactoring di classi e membri

Visual Studio fornisce diversi refactoring per riorganizzare i membri della classe e modificare le firme dei metodi. È possibile accedere a questi refactoring tramite il menu Azioni rapide e refactoring (CTRL+).).

Modifica firma del metodo

Applica a: C#, Visual Basic

Questo refactoring consente di rimuovere, riordinare o aggiungere parametri di un metodo, aggiornando automaticamente tutti i siti di chiamata.

  1. Evidenziare o posizionare il cursore di testo all'interno del nome del metodo da modificare o uno dei relativi utilizzi:

    • C# :

      Screenshot del codice evidenziato C#.

    • VB:

      Screenshot del codice evidenziato Visual Basic.

  2. Eseguire quindi una delle operazioni seguenti:

    • Keyboard
      • Premere CTRL+R, quindi CTRL+V. 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 Cambia firma dal popup della finestra di anteprima.
    • Mouse
      • Selezionare Modifica > refactoring > Rimuovi parametri.
      • Selezionare Modifica refactoring Reorder Parameters (Modifica > refactoring > parametri).
      • Fare clic con il pulsante destro del mouse sul codice, scegliere il menu Azioni rapide e refactoring e scegliere Cambia firma dal popup della finestra di anteprima.
  3. Nella finestra di dialogo Cambia firma visualizzata è possibile usare i pulsanti sul lato destro per modificare la firma del metodo:

    Screenshot della finestra di dialogo Cambia firma.

    Pulsante Descrizione
    Su/Giù Spostare il parametro selezionato verso l'alto e verso il basso nell'elenco
    Add Aggiungere un nuovo parametro all'elenco
    Remove Rimuovere il parametro selezionato dall'elenco
    Recupera Ripristinare il parametro selezionato, cross-out nell'elenco

    Suggerimento

    Usare la casella di controllo Anteprima modifiche di riferimento per verificare il risultato prima di eseguirne il commit.

  4. Se si seleziona Aggiungi nella finestra di dialogo Cambia firma , viene visualizzata la finestra di dialogo Aggiungi parametro . La finestra di dialogo Aggiungi parametro consente di aggiungere un nome di tipo e un nome di parametro. È possibile scegliere di impostare il parametro obbligatorio o facoltativo con un valore predefinito. È quindi possibile aggiungere un valore nel sito di chiamata e scegliere un argomento denominato per tale valore oppure è possibile introdurre una variabile TODO. La variabile TODO inserisce un TODO nel codice in modo da poter visitare ogni errore e passare attraverso ogni sito di chiamata in modo indipendente e decidere cosa passare. Per i parametri facoltativi è possibile omettere completamente il sito di chiamata.

    Screenshot della finestra di dialogo Aggiungi parametro - C#.

  5. Al termine dell'aggiunta di un parametro, premere OK per visualizzare in anteprima le modifiche.

    Screenshot della finestra di dialogo Cambia firma che mostra il parametro aggiunto.

Eseguire il pull dei membri verso l'alto

Applica a: C#, Visual Basic

Questo refactoring esegue il pull dei membri fino al tipo di base in modo che anche altre implementazioni dell'interfaccia ereditino tali membri.

  1. Posizionare il cursore in qualsiasi membro di un'interfaccia implementata.

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

    Screenshot di Pull Members up.Screenshot of Pull Members up.

  3. Selezionare Pull Members up to base type (Pull Members up to base type).

  4. Nella finestra di dialogo selezionare i membri da aggiungere all'interfaccia selezionata.

    Screenshot di Pull Member up.Screenshot of Pull Member up.

  5. Scegliere OK. I membri selezionati vengono estratti fino all'interfaccia.

    Screenshot del completamento del pull dei membri.

Rendere la classe astratta

Applica a: C#, Visual Basic

Questo refactoring contrassegna automaticamente una classe come astratta quando si scrive un metodo astratto in una classe che non è astratta.

  1. Posizionare il cursore sul metodo astratto.

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

  3. Selezionare Make class 'abstract'.

    Screenshot di Make class abstract.

Rendere statico il membro

Si applica a: C#

Questo refactoring converte un membro non statico in statico, migliorando la leggibilità, rendendo chiaro che il codice è isolato.

  1. Posizionare il cursore sul nome del membro.

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

    Screenshot di Make member static (Rendi statico membro).

  3. Selezionare Rendi statico.

Convertire la funzione locale in metodo

Si applica a: C#

Questo refactoring converte una funzione locale in un metodo di classe, utile quando la funzione deve essere chiamata all'esterno del metodo contenitore.

  1. Posizionare il cursore nella funzione locale.

    Screenshot di Convert a local function to a method code sample (Converti una funzione locale in un esempio di codice del metodo).

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

    Screenshot dell'esempio di correzione del codice della funzione locale in metodo.

  3. Premere INVIO per accettare il refactoring.

    Screenshot dell'esempio di risultato converte la funzione locale in metodo.

Refactoring delle funzioni locali statiche

Si applica a: C#

Questa sezione illustra due funzionalità correlate: rendere statica una funzione locale e passare le variabili in modo esplicito in funzioni locali statiche.

Rendere statica la funzione locale

Questo refactoring rende statica una funzione locale e passa variabili definite all'esterno della funzione alla dichiarazione e alle chiamate della funzione. Le funzioni locali statiche migliorano la leggibilità isolando il codice e impedendo l'inquinamento di una classe con una funzione statica chiamata solo in un singolo metodo.

  1. Posizionare il cursore sul nome della funzione locale.

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

    Screenshot di Make local function static (Rendere statica la funzione locale).

  3. Selezionare Make local function 'static'.

Passare la variabile in modo esplicito in una funzione locale statica

Questa azione rapida passa una variabile in modo esplicito in una funzione statica locale, utile quando si vuole che una funzione locale sia statica ma usi comunque variabili inizializzate al di fuori di essa.

  1. Posizionare il cursore sulla variabile in cui viene usata nella funzione locale statica.

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

    Screenshot della variabile Pass in modo esplicito nella funzione locale statica.

  3. Selezionare Passa variabile in modo esplicito nella funzione statica locale.