我有一个带有类约束的泛型类。
public class MyContainer<T> where T : MyBaseRow
MyBaseRow 是一个抽象类,我还想包含一些 MyContainer 风格的成员。
public abstract class MyBaseRow
{
public MyContainer<MyBaseRow> ParentContainer;
public MyBaseRow(MyContainer<MyBaseRow> parentContainer)
{
ParentContainer = parentContainer;
}
}
我对从 MyBaseRow 继承的类的构造函数有问题,例如。
public class MyInheritedRowA : MyBaseRow
{
public MyInheritedRowA(MyContainer<MyInheritedRowA> parentContainer)
: base(parentContainer)
{ }
}
不允许在构造函数中使用 MyInheritedRowA,编译器只期望并且只允许 MyBaseRow。我认为通用类约束允许继承?我在这里做错了什么,有什么办法可以重新设计这些类来解决这个问题?非常感谢您的任何回复。