2011-08-26 55 views
3

我已經和我做了更新的界面。我想將我的派生類中的所有更改作爲自動屬性實現,但它們會使用NotImplemented異常實現。有沒有辦法將ReSharper 6創建的屬性設置爲自動創建?從基類實現派生類的自動屬性?

回答

3

目前有兩種不同的方式來實現缺失的接口成員。

首先是通過按下Alt鍵+而在體實現類的,並選擇Implement missing members調用。在出現的對話框中,您可以可以選擇將屬性實現爲自動屬性。

第二通過按下Alt鍵調用 + 對紅色波浪的定義 statment實現類的輸入的同時,並選擇Implement members。在這種情況下,生成的成員的身體由ReSharper | Options... | Languages | Common | Members Generation中的設置控制 - 其中'autoproperty'不是選項。

There is an open YouTrack issue,以提高在第二種情況下,UI提供一個autoproperty選項 - JetBrains公司已經將其標記爲關鍵,因此它可能使之變成6.1,否則我們將不得不等待7

+0

這樣一個簡單的事情可以是如此複雜,而不是固定的。悲傷的熊貓。 – Syska

+0

Upvote for Alt + Ins技巧和問題鏈接。不過,我發現自己更經常使用R#模板來生成引發屬性更改事件的視圖模型屬性等。 – angularsen

0

這是一個hacky解決方法:

  1. 暫時將接口更改爲類。
  2. 設置所需的屬性public並將其定義複製到剪貼板
  3. 執行Push Members Down重構,將會將該成員複製到實現器中。
  4. 將該類還原爲接口並重新添加(使用粘貼)該屬性到接口。

不得不這樣做,但它的工作。