Extraia o método para uma interface já existente com ReSharper


101

Estou adicionando um novo método a uma classe que implementa uma interface e gosto de usar a refatoração "Extrair Interface" e apenas adicionar o método à interface. Mas não parece que o ReSharper oferece suporte à adição de uma assinatura de método a uma interface já existente.

Parece que estou perdendo alguma coisa, tenho certeza de que isso pode ser feito de alguma forma. Talvez eu deva adicionar a assinatura do método à interface primeiro, mas às vezes é assim que trabalho. Estou perdendo algum atalho, recurso ou usando o ReSharper errado?

Respostas:


192

Ctrl + Shift + R para acessar o menu de refatoração e escolha Pull Members Up ...

Você pode escolher a interface à qual deseja adicionar as declarações e também selecionar cada método que deseja adicionar à interface.

Tenho que amar Resharper! ;-)


5
ARgh! Eu nem tentei essa opção porque pensei que tinha a ver apenas com classes base herdadas. Posso apostar que Extract Interface foi a escolha certa ... De qualquer forma, obrigado!
Johan Danforth

2
Sim, eu tive exatamente a mesma experiência, Extrair Interface parece a opção mais intuitiva, mas ei, pelo menos temos uma maneira de alcançar o resultado desejado :-)
Russell Giddings

Não vejo que esteja funcionando ou existindo na nova versão do ReSharper
RJN

Ele ainda está funcionando ... mas não pode detectar a interface existente e colocar novos métodos dentro dela.
Ingweland

@RJN Certifique-se de que a classe em que você está já implemente a interface.
Greg Quinn
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.