Condividi tramite


Refactoring di classi e tipi (Progettazione classi)

Quando si effettua il refactoring di codice, la struttura interna di quest'ultimo, in particolare la struttura degli oggetti, viene cambiata in modo da rendere il codice più comprensibile, gestibile ed efficiente senza modificarne il comportamento osservabile.Quando si utilizza Progettazione classi e nella finestra dettagli classe per effettuare il refactoring del codice, si riduce l'impegno necessario e la probabilità di introdurre i difetti del codice durante l'operazione.

[!NOTA]

I file di un progetto possono essere di sola lettura perché il progetto è incluso nel controllo del codice sorgente e non è stato estratto, perché si tratta di un progetto a cui viene fatto riferimento o perché i file sono contrassegnati come di sola lettura sul disco.Quando si utilizza un progetto in uno di questi stati, è possibile salvare il lavoro in vari modi a seconda dello stato del progetto.È possibile effettuare il refactoring del codice e anche il codice da modificare in altro modo, ad esempio tramite modifica diretta.Per ulteriori informazioni, vedere Display of Read-Only Information.

Attività comuni

Task

Contenuto di supporto

classi di refactoring:È possibile utilizzare le operazioni di refactoring per suddividere la classe in classi parziali o per implementare una classe base astratta.

Utilizzo delle interfacce:In Progettazione classi, è possibile implementare un'interfaccia nel diagramma classi connettendola a una classe che fornisce il codice per i metodi di interfaccia.Se si utilizza Visual C#, è possibile disegnare uno o più membri pubblici da un tipo in una nuova interfaccia.

Effettuare il refactoring dei tipi, membri di tipo e parametri:Utilizzando Progettazione classi, può accadere apportare modifiche come rinominare un tipo o i membri del tipo.È possibile eseguire l'override dei membri del tipo o spostare da un tipo a un altro.È possibile creare facilmente si creano tipi nullable.E, se si utilizza Visual C#, è possibile riordinare i parametri del metodo.

w432yf9e.collapse_all(it-it,VS.110).gifImplementazione delle classi di base astratta

È possibile utilizzare Progettazione classi per implementare una classe astratta.

Per questa procedura sono validi i seguenti presupposti:

  • Il progetto contiene una classe astratta.

  • La classe astratta contiene membri astratti.

  • La classe astratta è la classe base in una relazione di ereditarietà con un'altra classe.(La classe derivata non deve essere una classe astratta.)

Per implementare una classe astratta

  • Fare clic con il pulsante destro del mouse sulla classe derivata, fare clic su IntelliSense quindi fare clic su Classe astratta di utilizzo.Tutti i membri astratti della classe base vengono implementati nella classe derivata.

Per ulteriori informazioni, vedere Procedura: definire l'ereditarietà tra tipi (Progettazione classi) e Procedura: creare tipi utilizzando Progettazione classi.

w432yf9e.collapse_all(it-it,VS.110).gifPer estrarre membri a un'interfaccia

È possibile estrarre uno o più membri pubblici da un tipo in una nuova interfaccia.

Per estrarre membri in una nuova interfaccia

  1. In Progettazione classi, fare clic con il pulsante destro del mouse sul tipo contenente il membro o i membri che si desidera estrarre, scegliere Il refactoringquindi fare clic su estrarre l'interfaccia.

    Nella finestra di dialogo Estrai interfaccia verranno visualizzati i valori predefiniti per il nome dell'interfaccia e il nome del file di codice in cui verrà dichiarata.Accettare i valori predefiniti o modificarli.

  2. Nel riquadro di membri pubblici selezionati per formare interfaccia , selezionare o deselezionare la casella di controllo accanto ai membri che si desidera estrarre nella nuova interfaccia e quindi fare clic OK.

    Verrà creata una nuova interfaccia e il file in cui è contenuta verrà aggiunto al progetto.

w432yf9e.collapse_all(it-it,VS.110).gifEseguire l'override dei membri del tipo

In Progettazione classi, è possibile consentire ai membri come i metodi e le proprietà in una classe figlio ai membri di override ereditati da una classe base.L'override di un membro è possibile solo se si verifica la seguente circostanza:

  • Il metodo di base di cui eseguire l'override deve essere virtuale, astratto o override.Non può essere non virtuale o statico.

Per eseguire l'override di un membro

  1. Nel diagramma classi, fare clic con il pulsante destro del mouse sulla forma della classe e fare clic IntelliSense quindi overridemembri.

    Viene visualizzata una finestra di dialogo con i membri di cui è possibile eseguire l'override.

  2. Dall'elenco, specificare un membro.

    Un membro con lo stesso nome, modificatore di accesso e valore restituito, viene visualizzato nella classe e la relativa proprietà modificatore di ereditarietà impostata su overrides in Visual Basic, o override in c#.

w432yf9e.collapse_all(it-it,VS.110).gifRinominare i tipi e i membri del tipo

In Progettazione classi è possibile rinominare un tipo o un membro di un tipo nel diagramma classi o nella finestra Proprietà.Nella finestra Dettagli classe è possibile modificare il nome di un membro ma non di un tipo.La ridenominazione di un tipo o di un membro di un tipo verrà propagata a tutte le finestre e a tutti i punti del codice in cui appariva il vecchio nome.

Per cambiare un nome in Progettazione classi

  1. Nel diagramma classi selezionare il tipo o il membro.

    Il nome del membro diventerà modificabile.

  2. Digitare il nuovo nome per il tipo o il membro del tipo.

Per cambiare un nome nella finestra Dettagli classe

  1. Per visualizzare la finestra dettagli classe, fare clic con il pulsante destro del mouse sul tipo o il membro del tipo e scegliere classificare i dettagli.

    Verrà visualizzata la finestra Dettagli classe.

  2. Nella colonna Nome modificare il nome del membro del tipo.

  3. Per spostare lo stato attivo dalla cella, premere INVIO oppure fare clic all'esterno della cella.

    [!NOTA]

    Nella finestra Dettagli classe è possibile modificare il nome di un membro ma non di un tipo.

Per cambiare un nome nella finestra Proprietà

  1. Nel diagramma classi o nella finestra dettagli classe, fare clic con il pulsante destro del mouse sul tipo o il membro quindi fare clic su Proprietà.

    Verrà visualizzata la finestra Proprietà con le proprietà relative al tipo o al membro del tipo.

  2. Nella proprietà Nome cambiare il nome del tipo o del membro del tipo.

    Il nuovo nome verrà propagato in tutte le finestre e le sezioni di codice del progetto corrente in cui compare il nome precedente.

w432yf9e.collapse_all(it-it,VS.110).gifParametri di riordinamento

In Progettazione classi è possibile cambiare l'ordine dei parametri dei metodi nei tipi.

[!NOTA]

I parametri facoltativi devono essere gli ultimi parametri presenti nell'elenco di parametri.Per informazioni su come creare i parametri facoltativi utilizzando Progettazione classi, vedere Adding Parameters to Methods.

Per cambiare l'ordine dei parametri

  1. Nel diagramma classi espandere la forma del tipo e quindi il raggruppamento Metodi.

  2. Nel raggruppamento di metodi , fare clic con il pulsante destro del mouse sul metodo con i parametri che si desidera riordinare, scegliere Il refactoringe fare clic riordinare i parametri.

    Verrà visualizzata la finestra di dialogo Riordina parametri.

  3. Nella finestra di dialogo di riordinare i parametri , spostare i parametri nell'ordine desiderato e fare clic su OK.

    L'ordine dei parametri cambierà nel codice e nella forma sul diagramma classi.

w432yf9e.collapse_all(it-it,VS.110).gifMembri di tipo lo spostamento da un tipo a un altro

In Progettazione classi è possibile spostare un membro da un tipo a un altro, se entrambi sono visibili nel diagramma classi corrente.

Per spostare un membro da un tipo a un altro

  1. In un tipo visibile nell'area di progettazione, fare clic con il pulsante destro del mouse sul membro che si desidera spostare in un altro tipo e scegliere tagliare.

  2. Fare clic con il pulsante destro del mouse sul tipo di destinazione e quindi fare clic Incolla.

    La proprietà verrà rimossa dal tipo di origine e visualizzata in quello di destinazione.

Argomenti correlati

Titolo

Descrizione

Visualizzazione dei tipi e delle relazioni (Progettazione classi)

Progettazione di classi e tipi (Progettazione classi)