【发布时间】:2017-04-11 08:56:59
【问题描述】:
当我在编译时不知道元组由哪些类型组成时,如何迭代元组中的项目?我只需要一个 IEnumerable 对象(用于序列化)。
private static IEnumerable TupleToEnumerable(object tuple)
{
Type t = tuple.GetType();
if (t.IsGenericType && t.GetGenericTypeDefinition() == typeof(Tuple<,>))
{
var x = tuple as Tuple<object, object>;
yield return x.Item1;
yield return x.Item2;
}
}
【问题讨论】:
-
var values = tuple.GetType().GetProperties().Select(property => property.GetValue(tuple))
标签: c# tuples ienumerable