我有以下C#类
public class BaseRow
{ }
public class BaseCollection<T> where T : BaseRow
{ }
public class ClientBaseClass<T> where T : BaseCollection<BaseRow>
{ }
public class ActualRow : BaseRow
{ }
public class ActualCollection : BaseCollection<ActualRow>
{ }
public class ActualClientClass : ClientBaseClass<ActualCollection>
{ }
在编译ActualClientClass时,编译器无法说出类似
的内容 ActualCollection must be convertible to BaseCollection <BaseRow> in order to use it as parameter T in the generic class.
我不确定我是否理解这一点,因为ActualCollection
继承自BaseCollection<ActualRow>
ActualRow
继承自BaseRow
。我很难在网上找到类似的案例。
这是可能的还是我需要重新定义我的架构?