2009-10-08 82 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

相关问题