ReSharper 2025.2 Help

转换参数重构

此重构可帮助您通过转换参数快速更改方法签名,例如,去除 out 参数,将参数包装在元组或新类中,等等。 — 并自动更新解决方案中方法的所有用法。

此重构允许您执行以下转换:

  • 将输入参数封装到参数对象中。 重构将创建一个新类,其中包含与所选输入参数对应的公共字段或自动属性。

  • 将返回值和 out 参数封装到返回对象中。 重构将创建一个元组或新类,其中包含与所选返回组件和输出参数对应的公共字段或自动属性。

  • 将部分返回元组组件转换为 out 参数,反之亦然。 重构将使用所选输出值扩展返回元组,并从未选择的值创建 out 参数。

  • ref 参数的输入部分封装到参数对象中。 重构将为与 ref 参数对应的未选择输出值替换修饰符为 out

  • ref 参数的输出部分封装到返回元组或对象中。 重构将删除与 ref 参数对应的未选择输入值的修饰符。

  • 将参数和返回值封装到单个参数对象中。 重构将为与所选返回组件和 out 参数对应的返回值创建额外的可写字段或属性。

以下示例演示了多种转换的组合——我们用方法返回替换了 out 参数,并用一个新类包装了另外两个参数:

class TestClass { public void DrawCircle(Point ctr, float rad, out bool res) { // draw... res = true; } }
class TestClass { public bool DrawCircle(Circle circle) { // draw... . var res = true; return res; } } internal class Circle { public Circle(Point ctr, float rad) { Ctr = ctr; Rad = rad; } public Point Ctr { get; private set; } public float Rad { get; private set; } }

转换方法参数

  1. 将光标放在编辑器中方法的声明或用法处,或者在 文件结构窗口 窗口中选择该方法。 或者,将光标放在方法的任意参数处。

  2. 执行以下操作之一:

    • Alt+Enter 并选择 转换形参

    • Control+Shift+R 然后选择 转换形参

    • 右键单击并从上下文菜单中选择 重构 | 转换参数

    • 从主菜单中选择 ReSharper | 重构 | 转换 | 转换参数…

    转换形参 对话框将打开。

  3. 选择您想要转换的参数。

  4. 根据所选的 in/out 参数,ReSharper 启用 方法接收 和/或 方法返回 选择器。 使用这些选择器选择 in/out 参数的转换方式。 如果您选择为参数创建一个新类,您将能够在其右侧的字段中指定名称。

  5. 要应用重构,请单击 下一步

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

ReSharper。 正在转换方法的参数

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

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

此功能在 C# 中可用

此功能在 Visual Basic 中可用

功能在 C++ 中不可用

此功能在 ASP.NET 中不可用

此功能在 Razor 中不可用

此功能在 XAML 中不可用

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

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

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

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

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