c# - 在编译时不知道类型的情况下将 IEnumerable 转换为 IEnumerable
问问题
964 次
3 回答
3
使用 LINQSelect
方法:
var result = listA.Select(a => Converter(a));
由于您使用的是 .NET 4.0,因此您确实应该避免使用object
和使用泛型。
于 2013-07-11T16:04:34.730 回答
2
于 2013-07-16T08:56:57.460 回答
0
也许是这样的?
IEnumerable<TTo> ConvertCollection<TFrom,TTo>(object from, Converter converter)
{
return ((IEnumerable<TFrom>)from).Select(a=>(TTo)converter(a)).ToList();
}
然后你只需调用它:
ConvertCollection<A,B>(new List<A>() { new A() }, AToBConverter);
于 2013-07-11T16:10:17.510 回答