gpt4 book ai didi

c#-4.0 - 通用接口(interface)的通用抽象基类

转载 作者:行者123 更新时间:2023-12-02 22:14:22 26 4
gpt4 key购买 nike

我试图了解什么层次结构最适合继承,如下所述。到目前为止,我已经有以下内容:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com