Ekstrak metode ke antarmuka yang sudah ada dengan ReSharper

101

Saya menambahkan metode baru ke kelas yang mengimplementasikan antarmuka, dan saya suka menggunakan refactoring "Ekstrak Antarmuka" dan hanya menambahkan metode ke antarmuka. Tetapi sepertinya ReSharper tidak mendukung penambahan tanda tangan metode ke antarmuka yang sudah ada.

Rasanya seperti saya melewatkan sesuatu, saya yakin itu bisa dilakukan entah bagaimana. Mungkin saya harus menambahkan tanda tangan metode ke antarmuka terlebih dahulu, tetapi terkadang begini cara saya bekerja. Apakah saya melewatkan beberapa pintasan, fitur, atau menggunakan ReSharper yang salah?

Johan Danforth
sumber

Jawaban:

192

Ctrl + Shift + R untuk mengakses menu refactoring lalu pilih Pull Members Up ...

Anda dapat memilih antarmuka yang ingin Anda tambahkan deklarasi dan juga memilih setiap metode yang ingin Anda tambahkan ke antarmuka.

Harus mencintai Resharper! ;-)

Russell Giddings
sumber
5
Agh! Saya bahkan tidak mencoba opsi itu karena saya pikir itu ada hubungannya dengan kelas dasar yang diwariskan saja. Saya yakin Ekstrak Antarmuka adalah pilihan yang tepat ... Bagaimanapun, terima kasih!
Johan Danforth
2
Ya, saya memiliki pengalaman yang persis sama, Antarmuka Ekstrak tampaknya merupakan opsi yang paling intuitif tetapi hei, setidaknya kita punya cara untuk mencapai hasil yang diinginkan :-)
Russell Giddings
Saya tidak melihatnya berfungsi atau sudah ada dalam versi ReSharper baru
RJN
Ini masih berfungsi ... tetapi tidak dapat mendeteksi antarmuka yang ada dan memasukkan metode baru di dalamnya.
Ingweland
@RJN Pastikan kelas tempat Anda berada sudah mengimplementasikan antarmuka.
Greg Quinn