基本上我的设置是这样的:
public abstract class BaseObject{
public abstract BaseObject Clone();
}
public class DerivedObject : BaseObject{
public DerivedObject Clone()
{
//Clone logic
}
}
上面的代码无法编译,因为在覆盖方法时无法更改返回类型。
是否有可能实现每个派生类型的 Clone 方法都返回它自己类型的参数(可能通过泛型)?