CodeDom嵌套数组

本文关键字:数组 嵌套 CodeDom | 更新日期: 2023-09-27 18:02:21

正如标题所示,我正在尝试"嵌套" -或在c#中使用CodeDom在数组中创建数组。

这是我要复制的行:

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[] {})} )));

也许有人能理解我的代码,甚至可能找到我的错误。

谢谢你的帮助,

艾凡

CodeDom嵌套数组

使用一个空的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*/;