尝试使用以下内容解析表达式树时:
private static XElement Parse(NewArrayExpression newArray)
{
IEnumerable<XElement> items = newArray.Expressions
.Select(item => new XElement(ExpressionTag.NewArrayItem, Parse((dynamic)item)));
return new XElement(ExpressionTag.NewArrayNode, items);
}
我发现传入new Int32[5]
会产生与该属性相同的信息new Int32[] { 5 }
,因为该NewArrayExpression.Expressions
属性只是用我想象的应该是构造参数填充的。问题是无法判断参数何时是length或者它是否是实际item。