2016-07-08 8 views
0

はどこに可能な場所でICLASSを実装ClassBaseICLASSを置き換えるためのReSharperを伝える方法はあります基底クラスとインターフェイスを置き換えますか?ReSharperの:

問題は、私はいくつかのインターフェイスの実装があまりにも多く、ロジックの半分がこのインターフェイスを実装するabstracクラスに置くことができるということです。

私がこれまでにやってきた最良の解決策は、それぞれを見つけて置き換えて、手でエラーを修正することです。より良いワークフローについては

+0

インターフェイス定義を手動で編集し、代わりに抽象クラスにします。その後、メソッドを派生クラスからそのクラスに移動できます。 –

答えて

2

、私は次のようにします:

    はインターフェース
  1. 起動使用ベースタイプを抽出し、クラス
  2. の名前を変更し
  3. (抽象)クラスにインターフェースを回し
  4. 可能であれば新しいベースクラスのを選択し、インタフェース

Althoug hは単一ステップの解決策ではないため、セマンティクスは損なわれません。

+0

そして関数の署名はどうですか? – eocron

+0

@ eocron06正確にはどういう意味ですか?彼らはそのアプローチの例外ではありません。 – Matthias

+0

インタフェースをクラスに変更して名前を変更すると、関数シグネチャが変更されます。それは良いことではありません。 – eocron