Estrai il metodo su un'interfaccia già esistente con ReSharper


101

Sto aggiungendo un nuovo metodo a una classe che implementa un'interfaccia e mi piace usare il refactoring "Extract Interface" e aggiungere semplicemente il metodo all'interfaccia. Ma non sembra che ReSharper supporti l'aggiunta di una firma del metodo a un'interfaccia già esistente.

Sembra che mi manchi qualcosa, sono sicuro che in qualche modo può essere fatto. Forse dovrei aggiungere prima la firma del metodo all'interfaccia, ma questo è il modo in cui lavoro a volte. Mi manca qualche scorciatoia, funzionalità o utilizzo errato ReSharper?

Risposte:


192

Ctrl + Maiusc + R per accedere al menu di refactoring, quindi selezionare Estrai membri in alto ...

È possibile scegliere l'interfaccia a cui si desidera aggiungere le dichiarazioni e selezionare anche ogni metodo che si desidera aggiungere all'interfaccia.

Devo amare Resharper! ;-)


5
Argh! Non ho nemmeno provato questa opzione perché pensavo che avesse a che fare solo con le classi base ereditate. Potrei scommettere che Extract Interface è stata la scelta giusta ... Comunque, grazie!
Johan Danforth,

2
Sì, ho avuto esattamente la stessa esperienza, Extract Interface sembra l'opzione più intuitiva ma ehi, almeno abbiamo un modo per ottenere il risultato desiderato :-)
Russell Giddings

Non vedo che funzioni o esista nella nuova versione di ReSharper
RJN

Funziona ancora ... ma non è in grado di rilevare l'interfaccia esistente e inserire nuovi metodi al suo interno.
Ingweland

@RJN Assicurati che la classe in cui ti trovi implementi già l'interfaccia.
Greg Quinn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.