如何计算ExpandoObject的属性

时间:2014-05-20 07:06:30

标签: c# .net expandoobject

我正在尝试计算ExpandoObject的动态属性。

我试过了

int count = values.ICollection<KeyValuePair<string, Object>>.Count();

但它会产生错误。

任何帮助?

更新:

我怎样才能读取特定索引的属性?

2 个答案:

答案 0 :(得分:1)

您的cast错了。而不是

int count = values.ICollection<KeyValuePair<string, Object>>.Count();

使用

int count = ((ICollection<KeyValuePair<string, Object>>)values).Count;

您还可以将对象转换为IDictionary<string, object>,然后缩短:

int count = ((IDictionary<string, object>)values).Count

要阅读特定索引处的属性,您可以使用ElementAt extension method

var valueAt5 = ((IDictionary<string, object>)values).ElementAt(5).Value

答案 1 :(得分:1)

ExpandoObject实施IDictionary<string, object>,因此您需要将其投射到此界面,并且您将能够访问IDictionary<TKey, TValue>.Count