組み込みデバイスの状態パターンでコーディングしています。Stateと呼ばれる基本/抽象クラスがあり、各離散(コンクリート)状態クラスが抽象状態クラスを実装します。
Stateクラスには、いくつかの抽象メソッドがあります。ディスクリート(コンクリート)クラスに抽象メソッドを実装しない場合、Visual Studioは次のようなエラーを出します。
...エラー1 'myConcreteState'は継承された抽象メンバー 'myAbstractState'を実装していません
さて、StateNameというStateごとにStringプロパティを作成しようとしています。新しい具象クラスを作成するときはいつでも、StateNameを定義する必要があります。使用しない場合はVSでエラーをスローする必要があります。これを行う簡単な方法はありますか?
私は抽象/基本クラスでこれを試しました:
public abstract string StateName { get; set; }
ただし、各状態にGetメソッドとSetメソッドを実装する必要はありません。
改訂された質問:理想的な状況では、各Stateクラスは、StateNameを定義して抽象基本クラスから継承する必要があります。
StateName = "MyState1"; //or whatever the state's name is
そのステートメントがない場合、Visual Studioは上記のエラーを生成します。これは可能ですか?可能な場合、どのようにですか?