自动重构以向方法调用添加参数名称
我正在进行大规模的重构。
我有很多方法,通过位置参数调用。 现在我想通过命名参数调用它们。 这些方法存在于几个非inheritance的类中,并且具有相同的名称,并且它们的签名不同。 例:
定义
public class Foo { public static Foo Create(int count, string name) { ... } } public class Bar { public static Bar Create(string description, bool yesNo, float factor) { ... } }
以下是我想要替换的电话
public void CreateSomeObjects() { var foo = Foo.Create(123, "foo"); var bar = Bar.Create("bar", true, 1.23); }
至
public void CreateSomeObjects() { var foo = Foo.Create(count: 123, name: "foo"); var bar = Bar.Create(description: "bar", yesNo: true, factor: 1.23); }
我使用Visual Studio Premium 2013和Resharper。 任何想法如何实现这一目标? (我只需要一个提示,没有完整的解决方案。)
不确定这是多么实用,但您可以使用ReSharper执行以下操作:
- 使用“查找用法”获取所有方法调用位置的列表。
- 对于每种用法,双击以转到该方法。
- 然后在代码编辑器中,单击参数值,ReSharper应显示其动作指示器(左边距中的灯泡或锤子)。
- 单击操作指示器以显示操作上下文菜单。
- 选择“添加参数名称”操作以将参数名称添加到所有参数。
- 重复。