Durante il tentativo di estrarre un metodo, si potrebbero verificare alcuni dei seguenti errori comuni.
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.
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.
È 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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
Modificare la selezione in modo che comprenda completamente una serie di istruzioni. Le istruzioni nel metodo di estrazione sono separate mediante punto e virgola.
I seguenti problemi descrivono implicitamente la situazione.