Je code avec un modèle d'état pour un périphérique intégré. J'ai une classe de base / abstraite appelée État, puis chaque classe d'état discrète (concrète) implémente la classe d'État abstraite.
Dans la classe d'état, j'ai plusieurs méthodes abstraites. Si je n'implémente pas les méthodes abstraites dans la classe discrète (concrète), Visual Studio donnera une erreur quelque chose comme ceci:
... Erreur 1 'myConcreteState' n'implémente pas le membre abstrait hérité 'myAbstractState'
Maintenant: j'essaie de créer une propriété String pour chaque État appelé StateName. Chaque fois que je crée une nouvelle classe concrète, je dois définir StateName. Je veux que VS génère une erreur si je ne l'utilise pas. Existe-t-il un moyen simple de procéder?
J'ai essayé cela dans la classe abstract / base:
public abstract string StateName { get; set; }
Mais je n'ai pas besoin d'implémenter les méthodes Get et Set dans chaque état.
Question révisée: Dans une situation idéale, chaque classe d'état aurait besoin que StateName définisse et soit héritée de la classe de base abstraite.
StateName = "MyState1"; //or whatever the state's name is
Si cette instruction est manquante, Visual Studio générera une erreur comme décrit ci-dessus. Est-ce possible, et si oui comment?