从Out参数中提取类

本文关键字:提取 参数 Out | 更新日期: 2023-09-27 18:08:28

我有一个out参数的方法,如:

void Do(int anInput, out List<string> items, out int count)
{
   /* some code */
}

现在我想转换那个签名,这样输出参数就会被那个方法返回的对象所取代,比如

DoResult Do(int anInput)
{
   /* some code */
   return new DoResult{Items=TODO, Count=TODO};
}
class DoResult {
    public List<string> Items;
    public int Count;
}

在Visual Studio 2010或ReSharper 7中有这样的重构吗?

我知道ReSharper重构从参数提取类。但它似乎对out参数没有帮助。

更新: Daniel A. White的答案非常适合。net 4.0。有。net 3.5的解决方案吗?生成元组也可以。

从Out参数中提取类

我在他们的文档中发现了这种重构。它将其更改为Tuple,但至少应该让您开始。

http://www.jetbrains.com/resharper/webhelp/Refactorings__Transform_Out_Parameters.html

从这里,你可以选择更改签名