我无法弄清楚如何创建动态泛型ExpandoObject元素的数组。
我从这个声明开始,它有效:
/* WORKS */
dynamic expando = new ExpandoObject() as IDictionary<string,object>;
我想要的是一个由这些对象组成的数组。我尝试的语法是:
/* DOES NOT WORK */
var expandoArray = new ExpandoObject[] as IDictionary<string, object>
{
new ExpandoObject() as IDictionary<string, object>,
new ExpandoObject() as IDictionary<string, object>
};
我的想法是,在创建了expandoArray之后,我可以通过使用这样的结构将其元素称为动态(参见http://weblog.west-wind.com/posts/2012/Feb/01/Dynamic-Types-and-DynamicObject-References-in-C):
dynamic expandoArrayDynamic = expandoArray[x];
所以,我的两个具体问题是: 1.如何创建一个Expando数组作为IDictionary对象? 2.如何将数组元素视为动态对象?
答案 0 :(得分:2)
这样做你想要的吗?
var expandoArray = new IDictionary<string, object>[]
{
new ExpandoObject(),
new ExpandoObject(),
};