【发布时间】:2012-03-28 10:37:57
【问题描述】:
我在这样声明的基类中有一个抽象方法...
public abstract void StartHere();
public virtual void StartHere(string flag)
{
switch(flag)
{
default : StartHere(); break;
}
}
有什么办法可以改变它,让继承的子类强制实现一个或另一个,但不能同时实现?目前子类被强制只实现 StartHere()。
您还说让默认虚拟方法指向无参数抽象是一种好的做法吗?还是这毫无意义?
此方法的作用是设置类,程序员可以使用 StartHere() 进行简单设置,也可以使用标志 StartHere(string) 进行更复杂的设置。
谢谢!
【问题讨论】:
-
你给客户端程序员太多的绳索让他上吊。自信地编程,负责你应该照顾的部分,不要让其他人来解决它。将 StartHere(string) 设为私有。
标签: c# methods implementation abstract