首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

相熟.net CodeDom的请进

2013-11-23 
熟悉.net CodeDom的请进如何通过CodeDom生成如下代码:Button btn new Button() { Text OK,Name b

熟悉.net CodeDom的请进
如何通过CodeDom生成如下代码:

Button btn = new Button() { Text = "OK",Name = "btnOK"};

谢谢。
[解决办法]
很遗憾,直到.NET Framework 4.0,CodeDom都不支持这种称作Object Initializer的语法。
[解决办法]
一个解决办法是用CodeSnippetExpression。CodeSnippetExpression可以包含任意形式的自定义代码。

var btnDecl = new CodeVariableDeclarationStatement();
var buttonTypeRef = new CodeTypeReference("Button");
var createExp = new CodeSnippetExpression("new Button() { Text = "OK",Name = "btnOK" }");

btnDecl.Name = "btn";
btnDecl.Type = buttonTypeRef;
btnDecl.InitExpression = createExp;

热点排行