2009-10-08 127 views
4

resharper是否可以強制更新界面?是否可以強制更新接口?

基本上,我有一個從接口繼承的類,但這個類是不斷變化的,所以我需要反映接口的變化,否則VS抱怨說,作爲方法的簽名已經改變了,我不執行的東西。

我想知道是否有一種方法讓resharper說「用它的接口更新這個類」?

任何想法?

+0

也許你應該儘量穩定你的這種工作方式,該接口後級映射,而事實上,他們改變了很多,對我聽起來好像你沒有的東西你一個明確的規範需要建立。 – 2009-10-08 09:17:04

+0

謝謝大家,是的,我實際上是設計類,我去..其錯誤的方向。首先應評估.. – 2009-10-08 10:15:07

+0

如果你正在做什麼TDD和需要嘲諷等接口這不是接口隨實現而改變的場景嗎? – mikesigs 2010-03-26 16:53:34

回答

-5

讓接口遵循實現是確切的錯誤方向。首先,你應該在你的界面中定義你需要的東西,然後在後臺類中實現它。你不應該指望一個工具支持不需要的工作流程,而是...

如果你走對了,R#會給你所有你需要的支持:你可以通過重構現有的方法重構|重命名...重構|更改簽名...執行成員

+0

我同意你是否正在開發一個新的東西。但是,如果您正在重構遺留系統並嘗試編寫一些單元測試,那麼工作流將顛倒過來。例如,我提取了界面,但注意到了靜態成員。刪除了靜態關鍵字,並需要更新界面。 – 2014-08-14 14:29:27

2

如果您使用ReSharper修改方法,它也可以修改接口定義。例如,如果您在方法上使用ReSharper的Rename功能,則它的接口定義將被重命名。此外,如果您在該方法上使用ReSharper的Change Signature功能,它會詢問您是否要在界面上進行重構。 更改簽名... -

0

如果你改變的接口中定義的方法的簽名,通過重構改變它。然後ReSharper會問你是否要更改接口方法的簽名。

除此之外,我無法想象ReShaper如何知道什麼以及如何更新。

19

雖然不是設計的最佳方式,但有時需要根據修改後的類更新界面。

可以使用ReSharper的拉會員最多選擇更新的接口。

  1. 用在重構菜單
  2. Pull Members Up選項選擇界面,你想更新爲基型
  3. 選擇成員,你想添加到界面

的成員現在已被添加到界面中。

+1

請注意,如果您對現有方法有XML註釋,這會將這些方法吹走 - 但您可以複製替換的方法,撤消,粘貼它們並刪除重複項(通過R#高亮顯示一式兩份)。 – ErikE 2014-11-20 01:14:40

相關問題