C # абстрактный класс наследование статического поля

Я чувствую, что пропустил класс C # или два, но вот моя дилемма:

У меня есть абстрактный класс, из которого я получаю несколько дочерних классов.

Я точно знаю, что для каждого из дочерних классов у меня будет конструктор, которому нужен определенный статический объект в качестве модели, и этот объект будет отличаться для каждого из дочерних классов.

Мой первый подход состоял в том, чтобы сделать публичный статический объект в абстрактном родительском классе, а затем, прежде чем я начну создавать какие-либо экземпляры дочерних классов, я бы изменил его для каждого из них, но оказывается, что таким образом я фактически делаю только ОДИН статический объект, для абстрактного класса, и каждый из его дочерних классов использует его.

Как я мог решить проблему?

Чтобы быть более точным, вот псевдокод:

Родительский абстрактный класс:

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

Один из детских классов:

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

РЕДАКТИРОВАТЬ:

Модель должна быть членом класса ModelObject, она НЕ должна быть одиночной или чем-то еще.

EDIT2:

Точнее, я выбрал эту реализацию для игры в шахматы: у меня есть абстрактный класс для шахматных фигур, а дочерние классы представляют конкретные части игры: пешки, рыцари и так далее.

Абстрактный класс наследует от MeshMatObject, класса, который представляет общие 3d-объекты с основными функциями, такими как вращение, сетки, материалы, текстуры и т. Д., И определяет абстрактные методы для шахматных фигур, таких как GetPossibleMoves ().

Объект Model, о котором я говорил выше, является членом MeshMatObject и, по моему мнению, должен быть определен вне класса только один раз, а затем использован для всех частей. Я имею в виду: например, все пешки имеют одинаковую сетку и текстуру, поэтому я не вижу смысла давать модель в качестве параметра каждый раз, когда вы хотите сделать пешку.