如何使用 codedom 创建匿名类型
How to create an anonymous type using codedom
本质上,我的目标是从我的代码域中获得类似于以下代码的输出:
var foo = new { variable1 = "value", variable2 = 5 };
我不只是将它用于变量赋值,而是想要一个如何创建匿名类型的简单示例。我不确定这个确切的代码是否可以实现,但如果有某种解决方法,你可以指出我的方向,我将非常感激。
我已经查看了 CodeObjectCreateExpression
,但我认为这不会满足我的要求,而且我找不到任何其他接近的东西。
在此先感谢大家的帮助。
CodeDOM 试图成为语言中立的并且很长时间没有更新,所以我认为您不能使用它的任何内置类型来做到这一点。但是您可以使用 CodeSnippetExpression
将此代码作为字符串注入:
var expression = new CodeSnippetExpression("new { variable1 = \"value\", variable2 = 5 }");
var statement = new CodeVariableDeclarationStatement("var", "foo", expression);
本质上,我的目标是从我的代码域中获得类似于以下代码的输出:
var foo = new { variable1 = "value", variable2 = 5 };
我不只是将它用于变量赋值,而是想要一个如何创建匿名类型的简单示例。我不确定这个确切的代码是否可以实现,但如果有某种解决方法,你可以指出我的方向,我将非常感激。
我已经查看了 CodeObjectCreateExpression
,但我认为这不会满足我的要求,而且我找不到任何其他接近的东西。
在此先感谢大家的帮助。
CodeDOM 试图成为语言中立的并且很长时间没有更新,所以我认为您不能使用它的任何内置类型来做到这一点。但是您可以使用 CodeSnippetExpression
将此代码作为字符串注入:
var expression = new CodeSnippetExpression("new { variable1 = \"value\", variable2 = 5 }");
var statement = new CodeVariableDeclarationStatement("var", "foo", expression);