是否可以强制更新接口?

时间:2009-10-08 09:11:52

标签: c# visual-studio resharper

在resharper中是否可以强制更新接口?

基本上我有一个继承自接口的类,但是这个类不断变化所以我需要反映界面中的变化,否则VS抱怨我没有实现某些东西,因为方法的签名已经改变。

我想知道resharper是否有办法说“用它的界面更新这个类”?

有什么想法吗?

4 个答案:

答案 0 :(得分:23)

虽然不是最好的设计方法,但有时需要根据修改后的类更新界面。

可以使用resharper的拉出会员选项来更新界面。

  1. 使用重构菜单中的Pull Members Up选项
  2. 选择您要更新的界面作为基本类型
  3. 选择要添加到界面的成员
  4. 现在已将成员添加到界面中。

答案 1 :(得分:2)

如果使用ReSharper修改方法,它可以/也将修改接口定义。

例如,如果在方法上使用ReSharper的Rename功能,则会重命名它的接口定义。此外,如果您在方法上使用ReSharper的Change Signature功能,它会询问您是否要在界面上进行重构。

答案 2 :(得分:0)

如果您要更改界面中定义的方法的签名,请通过重构 - 更改签名... 进行更改。然后,ReSharper将询问您是否要更改接口方法的签名。

除此之外,我无法想象ReShaper将如何知道更新内容以及如何更新。

答案 3 :(得分:-5)

让接口遵循实现是完全错误的方向。首先,您应该在界面中定义所需内容,然后在支持类中实现它。您不应期望工具支持不需要的工作流程......

如果你采用正确的方式,R#将为你提供所需的一切支持:你可以通过 Refactor | Rename ... Refactor | Change Signature重构现有方法。 。实施会员