Я столкнулся с «проблемой» при разработке класса узлов для 2D-дерева BSP. Ниже приведен список вещей, которые я хочу выполнить.Как установить статические поля readonly динамически?
- Я хочу, чтобы все узлы имели одинаковое значение для некоторых своих полей.
- Я хочу, чтобы эти поля были только для чтения, так как было бы плохо/не иметь смысла для значения любого поля, которое будет изменено после создания первого узла в дереве.
- Я хочу иметь возможность установить эти значения перед построением дерева.
Решение пункта 1 состоит в том, чтобы сделать поля статическими. Создание полей static readonly
(точки 1 + 2) означает, что значения должны быть установлены либо напрямую, либо в статическом конструкторе. Установка значений в статическом конструкторе с использованием некоторого файла конфигурации/класса/любого параметра. Является ли «правильным»/единственным способом?
Отредактировано для удаления текста о нескольких деревьях с различными значениями узлов, поскольку оно делает всю цель бесполезной статическими полями.
Как насчет класса для дерева и другого для узлов внутри дерева? Узлы могут быть построены со ссылкой на дерево и, следовательно, их общие значения для этого конкретного дерева. – HABO
@HABO Да. Уже есть древовидный класс. Решение так просто. По какой-то причине мой мозг был заперт в мысли о сохранении значений в классе узлов. – user1323245