我有一个集合(IQueryable<object>/IEnumerable<object>
)和一个给定的Type
,我在运行时通过反射获得。在以下情况下如何将IQueryable<object>
投射到特定Type
:
Type
是一个类,例如Person
(我希望将IQueryable<object>
转换为IQueryable<Person>
)Type
是一个通用集合,例如IQueryable<Person>
请注意,Type是我通过aVariable.GetType()获得的变量。我事先不知道类型,因此我不能使用Cast<type>
也不能使用(类型)。
答案 0 :(得分:1)
如果已知目标类型,请使用此
yourIEnumerable.Select(x => (YourType) x);
但正如您所指出的,您不知道目标类型的类型,并且您是使用object.GetType()
获取的,因此我建议您关注this链接