C# CodeDom嵌套数组
正如标题所示,我正在尝试“嵌套”——或者使用CodeDom在C#中的数组中创建一个数组 下面是我试图复制的一行:C# CodeDom嵌套数组,c#,arrays,codedom,C#,Arrays,Codedom,正如标题所示,我正在尝试“嵌套”——或者使用CodeDom在C#中的数组中创建一个数组 下面是我试图复制的一行: T.Invoke(null, new object[] { new string[] {} } ); 其中T.Invoke是一个方法。 我能够创造出几乎没有瑕疵的上述线条。我唯一的问题是创建第二组“{}”括号。下面是我使用的代码: CodeMethodInvokeExpression invoke_expression = new CodeMethodInvokeExpressio
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[] {})} )));
也许有人能理解我的代码,甚至可能发现我的错误
谢谢你的帮助
Evan使用空的
代码片段表达式
强制它创建括号:
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*/;
错误是什么?您收到的输出是什么?我不知道C#,但是{}会是字符串的文本吗?(一个值?)我在问题中写了它-最后一组“{}”括号没有出现。因此它看起来像:T.Invoke(null,new object[]{new string[]})您在创建
新字符串[0]
时会遇到更少的问题吗?(我没有经常使用CodeDom,所以我的ming就是这么做的)。不幸的是,没有。我也试过——谢谢:)它工作得非常好。您是如何知道“CodeSnippetExpression”会创建括号的?我以前遇到过这个问题,并了解到blankCodeSnippetExpression
s对于让CodeDom输出它认为“不必要”的代码非常有用。