也许这首先是糟糕的设计,但我有一个抽象基类,它有一个方法validate
public abstract class abClass{
string str1;
string str2;
public virtual bool validate(){...};
}
我知道每个派生类都有需要验证的属性,但我不想复制粘贴每个抽象方法的str1
验证str2
。
我想确保未来的开发人员(包括我自己)会记得包含并填写一个验证方法。从我所见,没有办法给抽象方法一个定义,或者强制一个虚拟方法被覆盖。
到目前为止,我听到的所有关于此的信息都是“你应该让开发人员选择他/她想要做的事情”。这对我来说还不够好,它违背了制衡,以帮助你不犯错误。我不介意他们是否主动选择没有任何实现代码,但如果他们忘记了,那么当派生字段未被验证时,这将导致头疼。
对这个问题有什么建议吗?