Sto codificando con uno schema di stato per un dispositivo incorporato. Ho una classe base / astratta chiamata Stato e ogni classe di stato discreta (concreta) implementa la classe di stato astratta.
Nella classe di stato ho diversi metodi astratti. Se non implemento i metodi astratti nella classe discreta (concreta), Visual Studio darà un errore simile a questo:
...Error 1 'myConcreteState' does not implement inherited abstract member 'myAbstractState'
Ora: sto provando a creare una proprietà String per ogni stato chiamato StateName. Ogni volta che creo una nuova classe concreta, ho bisogno di definire StateName. Voglio VS per lanciare un errore se non lo uso. C'è un modo semplice per farlo?
Ho provato questo nella classe abstract / base:
public abstract string StateName { get; set; }
Ma non ho bisogno di implementare i metodi Get e Set in ogni stato.
Domanda riveduta: In una situazione ideale, a ciascuna Classe di stato verrà richiesto di definire StateName ed essere ereditata dalla classe di base astratta.
StateName = "MyState1"; //or whatever the state's name is
Se manca quell'istruzione, Visual Studio genererà un errore come descritto sopra. È possibile e se sì, come?