Extrair o método

Extrair método é uma operação de refatoração que oferece uma maneira fácil de criar um novo método de um fragmento de código de um membro existente.Para obter mais informações, consulte Refatoração.

Usando Extrair método, você pode criar um novo método extraindo uma seleção de código a partir de dentro do bloco de código de um membro existente.O método novo e extraído contém o código selecionado, e o código selecionado no membro existente é substituído por uma telefonar para o novo método.Transformando um fragmento de código em seu próprio método permite que você rapidamente e reorganizar com precisão de código para melhorar a legibilidade e reutilização.

Extrair método possui os seguintes benefícios:

  • Incentiva práticas de codificação melhor enfatizando separados, reutilizáveis de métodos.

  • Incentiva autodocumentado código por meio de organização mercadoria.

    Quando nomes descritivos são métodos utilizados e de alto nível podem ler mais como uma série de comentários.

  • Estimula a criação de métodos mais refinados para simplificar a substituição.

  • Reduz a duplicação de código.

Comentários

Quando você usa o Extrair método comando, o novo método é inserido após o membro de fonte na mesma classe.

Tipos parcial

Se a classe for um tipo parcial e, em seguida, Extrair método gera o novo método imediatamente após o membro de fonte.Extrair método determina a assinatura do novo método, criando um método estático quando nenhum dado de ocorrência é citado pelo código no novo método.

Parâmetros de tipo genérico

Quando você extrai um método que possui um parâmetro de tipo genérico irrestrita, o código gerado não adicionará o ref modificador para esse parâmetro, a menos que um valor é atribuído a ele. Se o método extraído oferecerá suporte a tipos de referência sistema autônomo o argumento de tipo genérico, em seguida, você deverá adicionar manualmente o ref modificador de parâmetro na assinatura do método.

Métodos anônimo

Se você tentar extrair parte de um método anônimo, que inclui uma referência a uma variável local que está declarada ou referenciada fora do método anônimo, em seguida, Visual Studio avisará você sobre possíveis alterações semânticas.

Quando um método anônimo usa o valor de uma variável local, o valor é obtido no momento em que o método anônimo é executado.Quando um método anônimo é extraído em outro método, o valor da variável local é obtido no momento da telefonar para o método extraído.

O exemplo a seguir ilustra esta alterar semântica.Se esse código for executado, em seguida, 11 será impressa no console. Se você usar Extrair método para extrair a região de código que é marcado por comentários de código em seu próprio método e, em seguida, executar o código refatorado e, em seguida, 10 será impressa no console.

class Program
{
    delegate void D();
    D d;
    static void Main(string[] args)
    {
        Program p = new Program();
        int i = 10;
        /*begin extraction*/
            p.d = delegate { Console.WriteLine(i++); };
        /*end extraction*/
        i++;
        p.d();
    }
}

Para contornar essa situação, verifique as variáveis locais são usadas no método anônimo, campos da classe.

Consulte também

Tarefas

Como: Refatorar o código com extrair método