有这样的东西:
public abstract class AAA
{
protected abstract virtual string ToString() // Error
{
// Base Stuff
}
}
public abstract class BBB : AAA
{
public override string ToString()
{
// Use base.ToString();
// More Stuff
}
}
我读了另一篇文章(虚拟类中的抽象方法),女巫很像我的问题,但有一点不同。我希望 AAA.ToString() 具有基本行为并强制派生类覆盖它。
我知道我可以做这样的事情(向下滚动),但我正在寻找合适的方法。
public abstract class AAA
{
public abstract string ToString();
protected string ToString2()
{
// Base Stuff
}
}
public class BBB : AAA
{
public override string ToString()
{
// Use base.ToString2();
// More Stuff
}
}
我也可以制作一个 IAAA 界面并构建我的 BBB 类,例如
public class BBB : AAA, IAAA { ... }
但在我看来不对。