我有一个从对象获取多个属性的方法,我想安全地重构它以简单地获取整个对象。
我想改变:
var control = new Control
{
Prop1 = 1,
Prop2 = 2
};
TheMethod(control.Prop1, control.Prop2, "foo");
分为:
var control = new Control
{
Prop1 = 1,
Prop2 = 2
};
TheMethod(control, "foo");
我找不到可以提供帮助的ReSharper重构。是否有一系列我可以执行的步骤可以安全地进行重构?
答案 0 :(得分:1)
您可以使用ReSharper Change Signature重构来根据需要更改方法的签名。您可以为新引入的参数(类型Control
)指定默认值。如果这不能处理您的所有情况,您可以使用Structural Search and Replace替换方法的参数。
答案 1 :(得分:-1)
替换Prop1和Prop2的方法参数以传递控件类型如下所示:
TheMethod(Control control, string value)
{
}