Cuando se intenta extraer un método puede ocurrir uno o varios de los errores siguientes, por otra parte muy comunes.
Una declaración de tipo local no forma parte de la selección, pero una de las sentencias seleccionadas para extracción le hace referencia. O bien se amplía la selección para que incluya la declaración de tipo local, o bien se reduce para que no haga referencia a la declaración de tipo local que se ha seleccionado.
La selección incluye una declaración de tipo local pero también se hace referencia al tipo fuera de las sentencias seleccionadas. O bien se amplía la selección para que incluya todas las referencias al tipo local, o bien se reduce para que no se seleccione la declaración de tipo local.
En el bloque seleccionado se ha encontrado más de una asignación a una variable local. O bien se reduce la selección para que solamente se seleccione una asignación, o bien se amplía para que también incluya como mínimo todas las referencias a las variables locales menos una.
A más de una de las variables declaradas en la selección también se le hace referencia fuera de la selección. O bien se reduce la selección de modo que solo se seleccione una declaración de variables, o bien se amplía para que también incluya como mínimo todas las referencias a las declaraciones de variables seleccionadas menos una.
El bloque seleccionado contiene una asignación a una variable local. Además, a una de las variables declaradas en la selección también se le hace referencia fuera de la selección. La selección debe reducirse para que se seleccione o bien la asignación o bien la declaración local. O debe ampliarse para que también incluya o bien todas las referencias a una variable local, o bien todas las declaraciones de variables.
El bloque seleccionado contiene una sentencia de retorno. Además, el método extraído debe devolver un valor porque también se ha seleccionado una asignación a una variable local o una declaración local. O bien se excluye de la selección la sentencia de retorno, o bien se excluyen todas las asignaciones a variables locales y todas las declaraciones de tipo local.
La sentencia seleccionada es una expresión (por ejemplo, la parte condicional de una sentencia "if-then-else") que debe devolver una valor booleano. Además, el método extraído debe devolver un valor porque también se ha seleccionado una asignación a una variable local. Para solucionar el problema, seleccione toda la sentencia y no únicamente la parte condicional.
Para solucionar el problema, o bien se amplía la selección para que incluya la sentencia break/continue de destino, o bien se reduce para que no incluya la sentencia break/continue.
Para solucionar el problema, o bien se amplía la selección para que incluya la sentencia break/continue de destino, o bien se reduce para que no incluya la sentencia break/continue.
Este es un mensaje de error genérico que se muestra cuando se encuentra un problema pero realmente no se sabe cuál es el verdadero problema. A continuación se ofrecen algunos ejemplos típicos que dan lugar a este mensaje de error:
No pueden extraerse partes de un comentario. O bien se amplía la selección para que incluya todo el comentario, o bien se reduce para excluirlo.
No pueden extraerse partes de un comentario. O bien se amplía la selección para que incluya todo el comentario, o bien se reduce para excluirlo.
Ajuste la selección para que incluya un conjunto de sentencias completas. A efectos del método de extracción, las sentencias estás separadas por puntos y coma.
Los problemas siguientes no necesitan explicación.