如何使用codedom创建匿名类型

时间:2016-11-11 11:12:08

标签: c# codedom

基本上我的目标是从我的编码器输出类似下面的代码:

var foo = new { variable1 = "value", variable2 = 5 };

我不会仅仅将它用于变量赋值,但我想要一个如何创建匿名类型的简单示例。我不确定这个确切的代码是否可以实现,但如果有某种工作可以指出我的方向,我会非常感激。

我看过CodeObjectCreateExpression并且我认为这不会做我正在寻找的事情,而且我找不到其他任何接近的事情。

提前感谢所有人和任何帮助。

1 个答案:

答案 0 :(得分:2)

CodeDOM尝试与语言无关,并且已经很长时间没有更新,因此我认为您不能使用任何内置类型来执行此操作。但您可以使用CodeSnippetExpression将此代码注入字符串:

var expression = new CodeSnippetExpression("new { variable1 = \"value\", variable2 = 5 }");
var statement = new CodeVariableDeclarationStatement("var", "foo", expression);