임베디드 장치의 상태 패턴으로 코딩하고 있습니다. State라는 기본 / 추상 클래스가 있으며 각 개별 (콘크리트) 상태 클래스는 추상 상태 클래스를 구현합니다.
주 클래스에는 여러 가지 추상 메소드가 있습니다. discrete (concrete) 클래스에서 추상 메서드를 구현하지 않으면 Visual Studio에서 다음과 같은 오류가 발생합니다.
... 오류 1 'myConcreteState'가 상속 된 추상 멤버 'myAbstractState'를 구현하지 않습니다.
이제 StateState라는 각 State에 대해 String 속성을 만들려고합니다. 새로운 구체적 클래스를 만들 때마다 StateName을 정의해야합니다. VS를 사용하지 않으면 오류가 발생하기를 원합니다. 이를 수행하는 간단한 방법이 있습니까?
나는 abstract / base 클래스에서 이것을 시도했다.
public abstract string StateName { get; set; }
그러나 각 주마다 Get 및 Set 메서드를 구현할 필요는 없습니다.
수정 된 질문 : 이상적인 상황에서 각 주 클래스는 StateName을 정의하고 추상 기본 클래스에서 상속해야합니다.
StateName = "MyState1"; //or whatever the state's name is
해당 문이 없으면 Visual Studio는 위에서 설명한대로 오류를 생성합니다. 이것이 가능합니까? 그렇다면 어떻게해야합니까?