【发布时间】:2013-03-14 18:42:36
【问题描述】:
如何获得 IEnumerable 对象集合中的数字总和?我确信基础类型将始终是数字,但类型是在运行时确定的。
IEnumerable<object> listValues = data.Select(i => Convert.ChangeType(property.GetValue(i, null), columnType));
之后我希望能够做到以下几点(以下有错误:“无法解析方法总和”):
var total = listValues.Sum();
有什么想法吗?谢谢。
【问题讨论】:
-
为什么在运行时确定确切的类型?这听起来很可疑!
-
如果类型是在运行时确定的,这听起来像是泛型的工作。您是否有权创建
IEnumerable<object> listValues?你能把它改成IEnumerable<T> where T : struct, IConvertible吗? -
@Tory - 是的,我有权创建 IEnumerable,但我不知道如何进行您建议的更改。我是泛型世界的新手,请提供一个例子,谢谢。
标签: c# .net generics reflection