CodeDom嵌套数组

时间:2011-07-18 18:41:45

标签: c# arrays codedom

正如标题所示,我试图“嵌套” - 或使用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[] {})} )));

也许有人可以理解我的代码,甚至可能发现我的错误。

感谢您的帮助,

埃文

1 个答案:

答案 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*/;