我有两种类型 Person 和 Organization 都继承自IContact
.
我有一个基于某些逻辑返回其中一种类型的方法
private Type GetPersonOrOrganisation(string some variable)
{
either returns Person or Organisation type
}
我有一种方法可以查询数据库中的人员或组织:
public static IQueryable<T> Query<T>(this IUow uow) where T : IContact
{
return uow.Query<T>();
}
我的问题是如何使用返回的类型GetPersonOrOrganisation
来调用查询。
所以说:
var contactType = GetPersonOrOrganisation(string some variable);
var contact = Query<contactType>();
其中contactType 将是Person 或Organization。
显然这不会编译,这是我的问题。如何根据返回的内容从数据库中查询正确的类型GetPersonOrOrganisation
。