多くの仮想メソッドを持つ 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
}
}
これが理にかなっていることを願っています