가상 메서드가 많은 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