abstract class A { public override abstract string ToString(); } class B:A { public override string ToString() { return this.ToString(); } }
interface A { } abstract class B:A { public override abstract string ToString(); } class C : B { public override string ToString() { throw new NotImplementedException(); } }A a = new C();
我的客户实际上通过该接口调用实现,其中客户会调用到实现类的tostring方法,我的tostring方法必须重写才有意义,如果利用系统默认的tostring方法,则程序会不能正确运行,我就是希望通过接口来强制所有的tostring都必须重写,这样我就可以防止未重写tostring方法的实现被调用.
{
public override abstract string ToString();
}
class B:A
{
public override string ToString()
{
return this.ToString();
}
}
{
}
abstract class B:A
{
public override abstract string ToString();
}
class C : B
{
public override string ToString()
{
throw new NotImplementedException();
}
}A a = new C();