添加/移除 params 修饰符重构
此重构允许您通过为集合类型的最后一个参数引入 params 修饰符来改进 API。
请考虑一个接受类型数组作为最后一个参数的 API 示例:
public sealed class AcceptsDataAttribute : Attribute
{
public AcceptsDataAttribute(string description, Type[] types) { }
}
这样的 API 将迫使使用者在调用处构造数组:
public class MyService
{
[AcceptsData("Flag/text", new[] { typeof(string), typeof(bool) })]
public void EntryPoint(object data)
{
// do something
}
}
通过此重构,您可以通过为 params 修饰符添加 Type[] types 参数并更新所有用法来改进此 API 的易用性。
public sealed class AcceptsDataAttribute : Attribute
{
public AcceptsDataAttribute(string info, Type[] types) { }
}
public class MyService
{
[AcceptsData("Flag/text", new[] { typeof(string), typeof(bool) })]
public void EntryPoint(object data)
{
// do something
}
}
public sealed class AcceptsDataAttribute : Attribute
{
public AcceptsDataAttribute(string info, params Type[] types) { }
}
public class MyService
{
[AcceptsData("Flag/text", typeof(string), typeof(bool))]
public void EntryPoint(object data)
{
// do something
}
}
添加 'params' 修饰符
将光标放置在目标方法签名中的任意位置。
请执行以下操作之一:
按 Alt+Enter 并选择 添加 'params' 修饰符并更新用法。
按 Ctrl+Alt+Shift+T 然后选择 添加 'params' 修饰符并更新用法。
如果未发现冲突,JetBrains Rider会立即执行重构。 否则,它会提示您 解决冲突。
通过此重构,您还可以通过移除 params 修饰符并更新用法来执行反向转换。 如果您需要在最后一个 params 参数之后包含新参数,这可能会很有帮助。
最后修改日期: 2025年 9月 26日