2011-08-26 110 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. 将该类还原为接口并重新添加(使用粘贴)该属性到接口。

不得不这样做,但它的工作。