内联参数重构
此重构允许您将方法参数替换为方法调用中的参数值。 如果有多个调用,您可以选择从哪个调用中获取参数。
一个简单的案例。 内联参数 pi 的常量值:
private double AreaOfCircle(double rad, double pi)
{
return pi*rad*rad;
}
public void Test()
{
var area = AreaOfCircle(10, Math.PI);
}
private double AreaOfCircle(double rad)
{
return Math.PI*rad*rad;
}
public void Test()
{
var area = AreaOfCircle(10);
}
如果您希望内联的参数依赖于其他变量和/或计算,ReSharper 可以用其他参数替换原始参数,并将计算移到目标方法内部。
在以下示例中,针对 action 参数和 PerformAction 方法应用重构操作,将此前作为调用参数使用的整个 lambda 表达式移动到方法体中,并创建两个新参数以传递所需的值。
private void PerformAction(Action action)
{
action();
}
private void Test(string key, string value)
{
PerformAction(() => Console.WriteLine("{0} : {1}", key, value));
}
private void PerformAction(string arg0, string value)
{
((Action) (() => Console.WriteLine("{0} : {1}", arg0, value)))();
}
private void Test(string key, string value)
{
PerformAction(key, value);
}
内联一个参数
将光标放在方法声明中的参数或方法调用中的参数上。
执行以下操作之一:
按 Control+Alt+N ,然后选择 内联参数
按下 Control+Shift+R 然后选择 内联参数。
右键单击并从上下文菜单中选择 重构 | 内联参数。
从主菜单中选择 。
将打开 内联参数 对话框。
如果方法有多个用法,请选择您希望内联参数的用法并单击 下一步。
选择您希望内联的参数。
如果内联参数依赖于其他变量,ReSharper 会在 新参数 字段中建议一个或多个来自调用者的变量。 选择所需的参数。
检查新签名的预览并单击 下一步。
如果未发现冲突,ReSharper 会立即执行重构。 否则,它会提示您 解决冲突。
此功能在以下语言和技术中是 支持的:
此处提供的说明和示例介绍了在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相关主题。
最后修改日期: 2025年 12月 8日