我正在尝试计算ExpandoObject的动态属性。
我试过了
int count = values.ICollection<KeyValuePair<string, Object>>.Count();
但它会产生错误。
任何帮助?
更新:
我怎样才能读取特定索引的属性?
答案 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
。