Mam klasę A, która ma swoją strukturę, wygenerowaną automatycznie. Niestety, ale klasa może występować w dwóch wersjach o tym decyduje wartość jednego z boola, każda z wersji ma swoje prawidłowe wartości pól. W jaki stworzyć dwie dodatkowe klasy, aby ograniczyć ich wypełnianie tylko do tych zgodnych w danym typie.
Np. jeżeli klasa A ma pole string kod, to dla wersji drugiej to pole może mieć wartości zdefiniowane w liście C = [22,53,43]
Zrobiłbym dwie klasy, które całkowicie przejmują kontrolę nad tworzeniem klasy A, która na końcu zwróciłaby obiekt A readonly, skoro nie mogę przykryć pół, tylko kompozycje i wystawić odpowiednie 'setery', które będą zawierać logikę.
Klasa A będzie w przyszłości serializowana do xml i testowana schematornami.