我有类似
的东西Car:Vehicle {}
Truck:Vehicle {}
数据库ORM返回列表,可以包含任何一个。获取<车辆>将丢失子类信息。如果我获取对象或动态,它将返回ExpandoObject列表。由于下划线框架限制,我无法传递通用T,只传递字符串。所以我有这样的事情:
Type type = Type.GetType("Car")
我还可以创建一个类型化列表<汽车>像这样
var genericListType = typeof(List<>);
var specificListType = genericListType.MakeGenericType(type);
var list = Activator.CreateInstance(specificListType) as IList;
不知道从哪里开始。反思似乎不是很有效,也不能添加到IList。任何提示?感谢。
答案 0 :(得分:0)
我使用的微型ORM schotime/NPoco已内置
Type type = typeof(Vehicle).Assembly.GetType("Car");
var cars = db.Query<Vehicle>(
new[] { type }, null, new Sql("select * from cars"));