使用具有从所需类继承的动态参数的动态参数时编译器转换错误

时间:2016-11-02 15:29:10

标签: c# generics inheritance

我有以下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。我很难在网上找到类似的案例。

这是可能的还是我需要重新定义我的架构?

0 个答案:

没有答案