从C#中的匿名类生成类

时间:2011-06-05 13:38:31

标签: c# .net visual-studio visual-studio-2010 anonymous-types

是否有任何工具可以从匿名类型生成类?

我有一个使用匿名类型创建的复杂数据结构。我想在匿名类型超出范围的其他地方使用此数据结构。这就是为什么我在寻找这样的代码生成工具。

4 个答案:

答案 0 :(得分:29)

我发现了另一种不使用Resharper就可以做到这一点的方法。它在VS 2015上进行了测试。

假设您有这样的匿名类型:

return new
{
    Prop = "val"
};

给它起个名字,就像这个

return new AnonType
{
    Prop = "val"
};

然后在第一行附近出现一个灯泡,当你点击它时,它会显示为你生成这个类的选项,无论你想要什么。

在这里你可以看到我在说什么。

Demonstration

答案 1 :(得分:17)

这是refactorings支持的Resharper之一。使用嵌套的匿名类型(其中一个匿名类型具有另一个匿名类型的属性),您只需要在转换外部类型之前转换内部类型。

答案 2 :(得分:9)

Resharper - Convert Anonymous to Named Type

  

将匿名转换为命名类型重构转换匿名   类型到嵌套或顶级命名类型的范围   当前方法(本地)或整个解决方案(全局)。在里面   此重构提供的对话框,您也可以指定   ReSharper是否应生成自动属性或属性   支持字段,并选择生成相等和格式化方法   覆盖。   enter image description here

答案 3 :(得分:0)