从Out参数中提取类

时间:2013-04-09 12:47:14

标签: c# .net-3.5 resharper

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

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

现在我想转换该签名,以便out参数被该方法返回的对象替换为:

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.怀特的回答非常适合.Net 4.0。 .Net 3.5有解决方案吗?生成 Tuple 也没关系。

1 个答案:

答案 0 :(得分:3)

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

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

从那里,您可以进行更改签名。

相关问题