从基类在派生类中实现auto属性?

时间:2011-08-26 19:57:46

标签: resharper resharper-6.0

我有和我已更新的界面。我想将我的派生类中的所有更改实现为自动属性,但它们是使用NotImplemented异常实现的。有没有办法将ReSharper 6创建的属性设置为autoproeprty?

2 个答案:

答案 0 :(得分:3)

目前,有两种不同的方法可以实现缺少的接口成员。

通过在实现类的正文中按 Alt + Ins 并选择Implement missing members来调用第一个。在结果对话框中,您可以选择将属性实现为autoproperties。

在执行类的定义声明的红色波浪形中按 Alt + Enter 调用第二个,然后选择{ {1}}。在这种情况下,生成成员的主体由Implement members中的设置控制 - 其中'autoproperty'不是一个选项。

There is an open YouTrack issue在第二种情况下改进UI以提供autoproperty选项 - JetBrains已将其标记为严重,因此可能使其成为6.1,否则我们将不得不等待7。

答案 1 :(得分:0)

这是一个hacky解决方法:

  1. 暂时将界面更改为班级。
  2. 制作所需的属性public并将其定义复制到剪贴板
  3. 执行Push Members Down重构,将成员复制到实现者。
  4. 将类恢复为接口并将属性重新添加(使用粘贴)到接口。
  5. 必须这样做很糟糕,但它确实有效。