根据运行时类型转换 Expando 对象?
Convert Expando Object based on runtime type?
我有类似的东西
Car:Vehicle {}
Truck:Vehicle {}
数据库 ORM return 可以包含其中任何一个的列表。 Fetch 将丢失 sub class 信息。如果我获取对象或动态,它将 return ExpandoObject 列表。由于下划线框架的限制,我不能传入泛型 T,只能传入字符串。所以我有这样的东西:
Type type = Type.GetType("Car")
我也可以像这样创建一个类型化的 List
var genericListType = typeof(List<>);
var specificListType = genericListType.MakeGenericType(type);
var list = Activator.CreateInstance(specificListType) as IList;
不确定从这里去哪里。反射似乎效率不高,也无法添加到IList。有什么提示吗?谢谢
原来我使用的微型 ORM,schotime/NPoco,内置了这个
Type type = typeof(Vehicle).Assembly.GetType("Car");
var cars = db.Query<Vehicle>(
new[] { type }, null, new Sql("select * from cars"));
我有类似的东西
Car:Vehicle {}
Truck:Vehicle {}
数据库 ORM return 可以包含其中任何一个的列表。 Fetch
Type type = Type.GetType("Car")
我也可以像这样创建一个类型化的 List
var genericListType = typeof(List<>);
var specificListType = genericListType.MakeGenericType(type);
var list = Activator.CreateInstance(specificListType) as IList;
不确定从这里去哪里。反射似乎效率不高,也无法添加到IList。有什么提示吗?谢谢
原来我使用的微型 ORM,schotime/NPoco,内置了这个
Type type = typeof(Vehicle).Assembly.GetType("Car");
var cars = db.Query<Vehicle>(
new[] { type }, null, new Sql("select * from cars"));