我试图创建一个通用的方式来保存什么属性我应该搜索反对给定的类。创建泛型与子类
我已经创建了下面的结构来保存这些信息:
public struct Lookup<T> where T: BaseEntity
{
public Expression<Func<T, object>> Parent { get; set; }
}
然后创建了一个字典如下:
readonly Dictionary<string, Lookup<BaseEntity>> _dict =
new Dictionary<string, Lookup<BaseEntity>>();
我有一个使用BaseEntity
作为基类的类:
public class Agency : BaseEntity
{
public int AgencyId { get; set; }
}
我用这个信息创建一个新的Lookup结构体:
new Lookup<Agency>
{
Parent = x => x.Id
};
但是,如果我尝试添加这对我的字典里,我得到了以下错误:
Cannot convert from Lookup<Agency> to Lookup<BaseEntity>
我本来以为这会工作,因为他们有相同的基本类型的,什么是这个方法。
我有相当数量的实体的补充,从而希望能做到这一点一般,而不必做,如果/开关等
感谢
读入协方差。 –