Errori di estrazione del metodo

Durante il tentativo di estrarre un metodo, si potrebbero verificare alcuni dei seguenti errori comuni.

Il blocco selezionato fa riferimento a un tipo locale dichiarato all'esterno della selezione

Una dichiarazione del tipo locale non fa parte della selezione ma è referenziata da una delle istruzioni selezionate per l'estrazione. Estendere la selezione in modo che includa la dichiarazione del tipo locale o ridurre la selezione in modo che nessun riferimento alla dichiarazione del tipo locale sia selezionato.

Un tipo locale dichiarato nel blocco selezionato è referenziato all'esterno della selezione

La selezione comprende una dichiarazione di tipo locale ma il tipo è referenziato anche all'esterno delle istruzioni selezionate. Estendere la selezione in modo che includa tutti i riferimenti al tipo locale o ridurre la selezione in modo che la dichiarazione di tipo locale non sia selezionata.

Valore restituito ambiguo: il blocco selezionato contiene più di un'assegnazione alla variabile locale

È stata rilevata più di un'assegnazione a una variabile locale all'interno del blocco selezionato. Ridurre la selezione in modo che sia selezionata solo un'assegnazione oppure estendere la selezione in modo che almeno tutti i riferimenti eccetto quello per le variabili locali siano compresi anche dalla selezione.

Valore restituito ambiguo: rilevato più di un riferimento alla dichiarazione locale selezionata

Più di una variabile dichiarata all'interno della selezione è referenziata anche all'esterno della selezione. Ridurre la selezione in modo che sia selezionata solo una dichiarazione di variabile oppure estendere la selezione in modo che almeno tutti i riferimenti eccetto quello per le dichiarazioni della variabile selezionata siano compresi anche dalla selezione.

Valore restituito ambiguo: rilevata assegnazione a variabile locale e riferimento a dichiarazione locale selezionata

Il blocco selezionato contiene un'assegnazione a una variabile locale. Inoltre una variabile dichiarata all'interno della selezione è referenziata anche all'esterno della selezione. Ridurre la selezione in modo che sia selezionata l'assegnazione o la dichiarazione locale. Oppure estendere la selezione in modo che tutti i riferimenti a una variabile locale o a tutte le dichiarazioni di variabile siano compresi anche dalla selezione.

Valore restituito ambiguo: la selezione contiene l'istruzione return e un valore deve essere restituito dal metodo estratto

Il blocco selezionato contiene un'istruzione return. Inoltre un valore deve essere restituito dal metodo estratto poiché è anche selezionata un'assegnazione a una variabile locale o una dichiarazione locale. Escludere l'istruzione return dalla selezione o escludere dalla selezione tutte le assegnazioni alle variabili locali e tutte le dichiarazioni di tipi locali.

Valore restituito ambiguo: l'espressione ha un tipo restituito e un valore deve essere restituito dal metodo estratto

L'istruzione selezionata è un'espressione (ad esempio la parte condizionale di un'istruzione if-then-else) che deve restituire un valore booleano. Inoltre un valore deve essere restituito dal metodo estratto poiché è selezionata anche un'assegnazione a una variabile locale. Per risolvere il problema selezionare l'intera istruzione e non solo la parte condizionale.

La selezione contiene un'istruzione di interruzione ma la corrispondente destinazione di interruzione non è selezionata

Per risolvere il problema, estendere la selezione in modo da includere la destinazione di interruzione / continuazione o ridurre la selezione in modo che l'istruzione di interruzione / continuazione non sia compresa dalla selezione.

La selezione contiene un'istruzione di continuazione ma la corrispondente destinazione di continuazione non è selezionata

Per risolvere il problema, estendere la selezione in modo da includere la destinazione di interruzione / continuazione o ridurre la selezione in modo che l'istruzione di interruzione / continuazione non sia compresa dalla selezione.

Impossibile estrarre il nuovo metodo dalla selezione. È possibile estrarre istruzioni solo dal corpo di un metodo di livello superiore.

Questo è un messaggio di errore generico che viene visualizzato tutte le volte che si rileva un problema di cui non si conosce l'origine. Scenari tipici in cui questo messaggio potrebbe apparire sono i seguenti:

La selezione inizia all'interno di un commento

Non è possibile estrarre parti di un commento. Estendere la selezione in modo che comprenda l'intero commento o ridurre la selezione in modo che il commento venga completamente escluso.

La selezione termina all'interno di un commento

Non è possibile estrarre parti di un commento. Estendere la selezione in modo che comprenda l'intero commento o ridurre la selezione in modo che il commento venga completamente escluso.

Impossibile estrarre una selezione che termina nel mezzo di un'istruzione

Modificare la selezione in modo che comprenda completamente una serie di istruzioni. Le istruzioni nel metodo di estrazione sono separate mediante punto e virgola.

Altri problemi

I seguenti problemi descrivono implicitamente la situazione.