Ao tentar extrair um método, é possível que ocorra um ou mais dos erros comuns a seguir.
Uma declaração de tipo local não faz parte da seleção, mas é referida por uma das instruções selecionadas para extração. Estenda a seleção que inclui a declaração de tipo local ou reduza a seleção para que nenhuma referência à declaração de tipo local esteja selecionada.
A seleção abrange uma declaração de tipo local, mas o tipo também é referido fora das instruções selecionadas. Estenda a seleção que inclui todas as referências ao tipo local ou reduza a seleção para que a declaração de tipo local não esteja selecionada.
Mais de uma atribuição a uma variável local foi encontrada dentro do bloco selecionado. Reduza a seleção em que somente uma atribuição é selecionada ou estenda a seleção em que todas as referências, exceto aquela para as variáveis locais, são inclusas na seleção.
Mais de uma variável declarada dentro da seleção também é referida fora da seleção. Reduza a seleção em que somente uma declaração de variável é selecionada ou estenda a seleção em que todas as referências, exceto aquela para as declarações de variável locais, são também inclusas na seleção.
O bloco selecionado contém uma atribuição a uma variável local. Adicionalmente, uma variável declarada dentro da seleção também é referida fora da seleção. Reduza a seleção em que a atribuição ou a declaração local está selecionada. Ou estenda a seleção para que todas as referências a uma variável local ou todas as declarações de variável também sejam incluídas na seleção.
O bloco selecionado contém uma instrução de retorno. Adicionalmente, um valor deve ser retornado do método extraído porque uma atribuição a uma variável local ou declaração local também está selecionada. Exclua a instrução de retorno da seleção ou exclua todas as atribuições às variáveis locais e todas as declarações de tipo locais da seleção.
A instrução selecionada é uma expressão (por exemplo, a parte de condição de uma instrução if-then-else) que deve retornar um boleano. Adicionalmente, um valor deve ser retornado do método extraído porque uma atribuição a uma variável local também está selecionada. Para resolver o problema, selecione a instrução inteira, não apenas a parte de condição.
Para resolver o problema, estenda a seleção para incluir o destino de interrupção / continuação ou reduza a seleção em que a instrução de interrupção / continuação não é incluída na seleção.
Para resolver o problema, estenda a seleção para incluir o destino de interrupção / continuação ou reduza a seleção em que a instrução de interrupção / continuação não é abrangida pela seleção.
Essa é uma mensagem de erro genérica mostrada sempre que encontramos um problema, mas não sabemos qual é o problema real. Cenários comuns em que essa mensagem de erro é mostrada são:
Partes de um comentário não podem ser extraídas. Estenda a seleção que abrange todo o comentário ou reduza a seleção em que o comentário não está incluso.
Partes de um comentário não podem ser extraídas. Estenda a seleção que abrange todo o comentário ou reduza a seleção em que o comentário não está incluso.
Ajuste a seleção de modo que abranja completamente um conjunto de instruções. As instruções na detecção do método de extração são separadas por ponto-e-vírgula.
Os problemas a seguir são totalmente auto-explicativos.