我有一个c#类,它有很多虚拟方法,其中一些方法本质上是抽象的(它们完全在子类中实现,而基类是空的)。虚拟类中的抽象方法
为了让它能够编译,我在基类中抛出了一个InvalidOperationException异常,并给出了应该做什么的评论。这只是感觉很脏。
有没有更好的方法来设计我的课程?
编辑: 这是一个应用程序的中间层将运行在加拿大,一半的方法是通用的,因此是虚拟的。其中一半的方法是针对具体省份的。
Public class PersonComponent()
{
public GetPersonById(Guid id) {
//Code to get person - same for all provinces
}
Public virtual DeletePerson(Guid id) {
//Common code
}
Public virtual UpdatePerson(Person p) {
throw new InvalidOperation("I wanna be abstract");
}
Public Class ABPersonComponent : PersonComponent
{
public override DeletePerson(Guid id)
{
//alberta specific delete code
}
public override UpdatePerson(Person p)
{
//alberta specific update codecode
}
}
希望这是有道理的
正是我之后 Ta。 – aaron 2009-03-06 01:00:24