我试图了解什么层次结构最适合继承,如下所述。到目前为止,我已经有以下内容:
public interface IManager<T> where T : ISomeObject
{
bool Add(T o);
bool Remove(T o);
bool Update(T o);
}
但后来我希望每个派生类都有一个参数化构造函数。所以我去了:
public abstract class Manager<T> : IManager<T> where T : ISomeObject
{
protected readonly INeededObject obj;
protected Manager(INeededObject o)
{
obj = o;
}
}
关于我应该如何解决这个设计问题有什么想法吗?提前致谢。
最佳答案
你就快到了。您也可以在基类中使用泛型类型参数。
public abstract class Manager<T> : IManager<T> where T : ISomeObject
{
protected readonly T obj;
protected Manager(T o)
{
obj = o;
}
}
您也可以使用参数化类型,例如
protected Manager(IList<T> o)
{
...
}
关于c#-4.0 - 通用接口(interface)的通用抽象基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15581505/