Erros de Extração de Método

Ao tentar extrair um método, é possível que ocorra um ou mais dos erros comuns a seguir.

O bloco selecionado referencia um tipo local declarado fora da seleção

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.

Um tipo local declarado no bloco selecionado é referido fora da seleção

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.

Valor de retorno ambíguo: o bloco selecionado contém mais de uma atribuição à variável local

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.

Valor de retorno ambíguo: encontrada mais de uma referência à declaração local selecionada

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.

Valor de retorno ambíguo: encontradas uma atribuição à variável local e uma referência a uma declaração local selecionada

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.

Valor de retorno ambíguo: a seleção contém instrução de retorno e um valor deve ser retornado do método extraído

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.

Valor de retorno ambíguo: a expressão possui tipo de retorno e um valor deve ser retornado do método extraído

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.

A seleção contém uma instrução de interrupção, mas o destino de interrupção correspondente não está selecionado

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.

A seleção contém uma instrução de continuação, mas o destino de continuação correspondente não está selecionado

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.

Não é possível extrair o novo método da seleção. Somente as instruções do corpo de um método de nível máximo podem ser extraídas

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:

A seleção inicia dentro de um comentário

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.

A seleção termina dentro de um comentário

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.

Não é possível extrair a seleção que termina no meio de uma instrução

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.

Outros Problemas

Os problemas a seguir são totalmente auto-explicativos.