繼承我有一個抽象類:如何有一個泛型類型從一個泛型類型
public abstract class LMManager<ENTITY, ILM_ENTITY> where ENTITY : ILM_ENTITY, IActiveRecord, ICallOnCreated, new()
實體是某種數據對象,ILM_ENTITY,IActiveRecord,並ICallOnCreated是該數據對象器具接口。
通常情況下,我繼承這個傢伙帶班像
public class JobManager : LMManager<Job, ILMJob>
public class JobViewManager : LMManager<vwJob, ILMJobView>
現在,我有其中兩個子類都有一些共同的代碼的情況下,所以我想在這兩者之間插入另一層像
public abstract class JobManagerBase : LMManager<ENTITY, ILM_ENTITY>
然後換另外兩個傢伙
public class JobManager : JobManagerBase<Job, ILMJob>
public class JobViewManager : JobManagerBase<vwJob, ILMJobView>
在我JobManagerBase的定義,我得到有關實體四大誤區:
- 必須是一個非抽象類有一個公共的無參數的構造函數
- 從實體沒有裝箱轉換或類型參數轉換爲ICallOnCreated
- 從實體沒有裝箱轉換或類型參數轉換爲IActiveRecord
- 從實體沒有裝箱轉換或類型參數轉換爲ILM_ENTITY
是這是非常明顯的,我失蹤了?
請勿使用全部大寫字母。另外,通用參數應該以'T'開始。 – SLaks 2010-11-19 17:20:05
您的意思是'JobManagerBase:LMManager '? –
SLaks
2010-11-19 17:22:43