Wyodrębnij metodę do już istniejącego interfejsu z ReSharper


101

Dodaję nową metodę do klasy, która implementuje interfejs i lubię używać refaktoryzacji „Extract Interface” i po prostu dodać metodę do interfejsu. Ale nie wygląda na to, że ReSharper obsługuje dodawanie sygnatury metody do już istniejącego interfejsu.

Czuję, że czegoś mi brakuje, jestem pewien, że można to jakoś zrobić. Może powinienem najpierw dodać podpis metody do interfejsu, ale czasami tak właśnie pracuję. Czy brakuje mi jakiegoś skrótu, funkcji lub źle używam ReSharper?

Odpowiedzi:


193

Ctrl + Shift + R, aby uzyskać dostęp do menu refaktoryzacji, a następnie wybierz opcję Pull Members Up ...

Możesz wybrać interfejs, do którego chcesz dodać deklaracje, a także wybrać każdą metodę, którą chcesz dodać do interfejsu.

Pokochaj Resharper! ;-)


5
ARgh! Nawet nie wypróbowałem tej opcji, ponieważ myślałem, że dotyczy to tylko dziedziczonych klas podstawowych. Mogę się założyć, że Extract Interface był właściwym wyborem ... W każdym razie, dzięki!
Johan Danforth,

2
Tak, miałem dokładnie to samo doświadczenie, Extract Interface wydaje się najbardziej intuicyjną opcją, ale hej, przynajmniej mamy sposób na osiągnięcie pożądanego rezultatu :-)
Russell Giddings

Nie widzę, żeby to działało lub istniało w nowej wersji ReSharper
RJN

Nadal działa ... ale nie może wykryć istniejącego interfejsu i umieścić w nim nowych metod.
Ingweland,

@RJN Upewnij się, że klasa, w której jesteś, już implementuje interfejs.
Greg Quinn
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.