Koduję za pomocą wzorca stanu dla urządzenia osadzonego. Mam podstawową / abstrakcyjną klasę o nazwie State, a następnie każda dyskretna (konkretna) klasa stanu implementuje abstrakcyjną klasę State.
W klasie państwowej mam kilka metod abstrakcyjnych. Jeśli nie zaimplementuję metod abstrakcyjnych w klasie dyskretnej (konkretnej), Visual Studio wyświetli błąd podobny do tego:
... Błąd 1 „myConcreteState” nie implementuje dziedziczonego elementu abstrakcyjnego „myAbstractState”
Teraz: próbuję utworzyć właściwość String dla każdego stanu o nazwie StateName. Ilekroć tworzę nową konkretną klasę, muszę zdefiniować StateName. Chcę, aby VS zgłosił błąd, jeśli go nie użyję. Czy istnieje prosty sposób to zrobić?
Próbowałem tego w klasie abstrakcyjnej / podstawowej:
public abstract string StateName { get; set; }
Ale nie muszę wdrażać metod Get and Set w każdym stanie.
Zmienione pytanie: W idealnej sytuacji każda klasa stanu musiałaby mieć definicję StateName i być dziedziczona z abstrakcyjnej klasy podstawowej.
StateName = "MyState1"; //or whatever the state's name is
Jeśli brakuje tej instrukcji, Visual Studio wygeneruje błąd, jak opisano powyżej. Czy to możliwe, a jeśli tak, to w jaki sposób?