我有 ac# 类,它有很多虚拟方法,其中一些方法本质上是抽象的(它们在子类中完全实现,基类是空的)。
为了让它编译,我在基类中抛出了一个 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
}
}
希望这是有道理的