我試圖創建一個通用的方式來保存什麼屬性我應該搜索反對給定的類。創建泛型與子類
我已經創建了下面的結構來保存這些信息:
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>
我本來以爲這會工作,因爲他們有相同的基本類型的,什麼是這個方法。
我有相當數量的實體的補充,從而希望能做到這一點一般,而不必做,如果/開關等
感謝
讀入協方差。 –