ReSharper 2025.2 Help

添加/移除 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 } }

通过此重构,您可以通过为 Type[] 类型数组 参数添加 params 修饰符并更新所有用法来改进此 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' 修饰符

  1. 将光标放在目标方法签名中的任意位置。

  2. 执行以下操作之一:

    • Alt+Enter 并选择 添加 'params' 修饰符并更新用法

    • Control+Shift+R 然后选择 添加 'params' 修饰符并更新用法

  3. 如果未发现冲突,ReSharper 将立即执行重构。 否则,它会提示您 解决冲突

通过此重构,您还可以通过移除 params 修饰符并更新用法来执行反向转换。 如果您需要在最后一个 params 参数之后包含新参数,这可能会有所帮助。

此功能在以下语言和技术中 受支持

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

此功能在 C# 中可用

此功能在 Visual Basic 中可用

功能在 C++ 中不可用

此功能在 ASP.NET 中不可用

此功能在 Razor 中不可用

此功能在 XAML 中不可用

此功能在资源文件中不可用

此功能在构建脚本文件中不可用

此功能在 SQL/NoSQL 文件和注入中不可用

此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。

最后修改日期: 2025年 9月 27日