5
我有一個泛型類,看起來像這樣:通用基類構造函數
public class DataServiceBase<T> : Screen where T : EntityManager, new(){
private T _entityManager;
public T EntityManager {
get {
if (_entityManager == null)
{
_entityManager = new T();
}
return _entityManager;
}
}
基本上所有我想要做的就是創建一個EntityManager的,如果它不存在。這實際上工作正常。但是,我需要修改它,因爲T不再有無參數的構造函數。所以我根本無法使用這種方法。
但我確實需要在DataService的派生級別強類型化的EntityManager,因爲不同的實體管理器處理不同的實體。
我不知道如何解決這個問題。一種替代方法我都試過是:
public DataServiceBase(EntityManager entityManager) {
this._entityManager = entityManager;
}
換句話說,我將它傳遞到構造函數中,但現在我不再有屬性強類型。
格雷格