是否可以創建一個必須返回派生類實例的抽象方法?我可以這樣做:返回派生類實例的抽象方法
abstract class Base
{
public abstract Base GetObj();
}
class Derived : Base
{
public Derived() { }
public override Base GetObj()
{
return new Derived();
}
}
但我不知道是否有辦法做到這一點,使得Derived::GetObj()
被迫返回Derived
?
謝謝。
請參閱:http://blogs.msdn.com/b/ericlippert/archive/2011/02/03/curiouser-and-curiouser.aspx,瞭解需要考慮的缺陷和挑戰。 – 2012-02-20 12:59:05
感謝您的鏈接。有趣的閱讀。 – Eric 2012-02-20 13:05:08