#structuremap
#structuremap
Вопрос:
Передача именованных аргументов объясняет, как вы можете настроить ввод строкового значения.
container.With("color").EqualTo("Blue").GetInstance<IWidget>()
Позволяет мне указать значение color
to be Blue
для любого класса, но оно действует только для следующего GetInstance()
вызова. Конфигурация не сохраняется container
.
Есть ли способ настроить контейнер на использование определенного значения по имени вводимой строковой переменной? У меня есть несколько классов, в которые я хочу ввести определенное значение, если оно есть string color
в его конструкторе.
Ответ №1:
Я не мог понять, как это сделать, но полагаться на имя переменной в любом случае не кажется хорошей практикой, и решил вообще не использовать эту функцию. Более правильным способом был бы шаблон Options, который также позволяет мне описать значение по умолчанию, если в любом другом контейнере класса не указаны значения.