C # abstrakte Klasse statische Feldvererbung

Ich habe das Gefühl, ich hätte ein oder zwei C # -Klassen übersprungen, aber hier ist mein Dilemma:

Ich habe eine abstrakte Klasse, aus der ich mehrere untergeordnete Klassen ableiten kann.

ch weiß mit Sicherheit, dass ich für jede der untergeordneten Klassen einen Konstruktor haben werde, der ein bestimmtes statisches Objekt als Modell benötigt, und dieses Objekt wird für jede der untergeordneten Klassen unterschiedlich sei

Mein erster Ansatz bestand darin, ein öffentliches statisches Objekt in der abstrakten übergeordneten Klasse zu erstellen. Bevor ich dann anfange, Instanzen der untergeordneten Klassen zu erstellen, ändere ich es für jede von ihnen, aber es stellt sich heraus, dass ich tatsächlich nur so mache EIN statisches Objekt für die abstrakte Klasse und jede ihrer untergeordneten Klassen verwendet es.

Wie könnte ich das Problem lösen?

Um genauer zu sein, hier ist der Pseudocode:

Die übergeordnete abstrakte Klasse:

 abstract class AbstractClass
{
   static public ModelObject Model;
   ...
}

Eine der untergeordneten Klassen:

class Child : AbstractClass
{
    ...
    public Child()
    {
        this.someField = Model.someField;
    }
}

BEARBEITEN

Das Model muss Mitglied der "ModelObject" -Klasse sein, es sollte KEIN Singleton oder etwas anderes sein.

EDIT2:

Um noch genauer zu sein, habe ich diese Implementierung für eine Schachpartie gewählt: Ich habe eine abstrakte Klasse für die Schachfiguren und die untergeordneten Klassen repräsentieren die konkreten Teile des Spiels: Bauern, Ritter und so weiter.

Die abstrakte Klasse erbt von MeshMatObject, einer Klasse, die generische 3D-Objekte mit grundlegenden Funktionen wie Rotationen, Maschen, Materialien, Texturen usw. darstellt, und definiert abstrakte Methoden für Schachfiguren wie GetPossibleMoves ().

Das Modellobjekt, von dem ich oben gesprochen habe, ist ein Mitglied des MeshMatObject und sollte meiner Meinung nach nur einmal außerhalb der Klasse definiert und dann für alle Teile verwendet werden. Ich meine: Zum Beispiel haben alle Bauern das gleiche Netz und die gleiche Textur, daher sehe ich nicht den Sinn, jedes Mal, wenn Sie einen Bauern machen möchten, ein Modell als Parameter anzugeben.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage