我希望有一个父类包含一个可链接的函数(一个返回this
的函数),它应该在每个子类中返回一个子类类型的对象,而不是父类:
class ParentClass<T> where T : ParentClass<T> {
public T ChainableFn()
{
...
return (T)this;
}
}
class ChildClass : ParentClass<ChildClass> {
}
ChildClass child = new ChildClass().ChainableFn().ChainableFn().ChainableFn();
这不起作用,因为ParentClass<T>
无法转换为T
。
我错过了什么?