Sto codificando con un modello di stato per un dispositivo incorporato. Ho una classe base / astratta chiamata State e quindi ogni classe di stato discreta (concreta) implementa la classe State astratta.
Nella classe di stato ho diversi metodi astratti. Se non implemento i metodi astratti nella classe discreta (concreta), Visual Studio genererà un errore simile al seguente:
... L'errore 1 "myConcreteState" non implementa il membro astratto ereditato "myAbstractState"
Ora: sto cercando di creare una proprietà String per ogni stato chiamato StateName. Ogni volta che creo una nuova classe concreta, devo definire StateName. Voglio che VS lanci un errore se non lo uso. C'è un modo semplice per fare questo?
Ho provato questo nella classe astratta / base:
public abstract string StateName { get; set; }
Ma non ho bisogno di implementare i metodi Get e Set in ogni stato.
Domanda rivista: in una situazione ideale, ogni classe di stato dovrebbe avere StateName definito ed essere ereditato dalla classe di base astratta.
StateName = "MyState1"; //or whatever the state's name is
Se manca tale istruzione, Visual Studio genererà un errore come descritto sopra. È possibile e, se sì, come?