正如标题所示,我试图“嵌套” - 或使用CodeDom在C#中的数组中创建一个数组。
以下是我要复制的内容:
T.Invoke(null, new object[] { new string[] {} } );
T.Invoke是一种方法。
我能够用几乎创建上面的行没有任何缺陷。我唯一的问题是创建第二组“{}”括号。以下是我使用的代码:
CodeMethodInvokeExpression invoke_expression = new CodeMethodInvokeExpression(
new CodeTypeReferenceExpression("T"),"Invoke",
new CodePrimitiveExpression(null),
new CodeArrayCreateExpression(typeof(object),
new CodeExpression[] {
new CodeArrayCreateExpression(typeof(string[]),
new CodeExpression[] {})} )));
也许有人可以理解我的代码,甚至可能发现我的错误。
感谢您的帮助,
埃文
答案 0 :(得分:1)
使用空CodeSnippetExpression
强制创建括号:
CodeMethodInvokeExpression invoke_expression = new CodeMethodInvokeExpression(
new CodeTypeReferenceExpression("T"),
"Invoke",
new CodePrimitiveExpression(null),
new CodeArrayCreateExpression(
typeof(object),
new CodeExpression[]
{
new CodeArrayCreateExpression(
typeof(string[]),
new CodeExpression[]
{
new CodeSnippetExpression("")
})/*CodeArrayCreateExpression */
})/*CodeArrayCreateExpression */
)/*CodeMethodInvokeExpression*/;