我有一個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