Строго типизированные аргументы конструктора StructureMap - PullRequest
3 голосов
/ 14 октября 2010

У меня есть немного конфигурации StructureMap, например, так:

x.ForConcreteType<OrderProcessor>().Configure
    .Ctor<string>("param1").EqualToAppSetting("setting1")
    .Ctor<string>("param2").EqualToAppSetting("setting2")
    .Ctor<string>("param3").EqualToAppSetting("setting3");

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

Существует ли альтернативный синтаксис в StructureMap, который более строго типизирован? Это вообще возможно?

1 Ответ

2 голосов
/ 14 октября 2010

Моя команда отошла от введения примитивных аргументов в параметры конструктора в основном из-за этой проблемы.Вместо этого мы создаем объект, который имеет свойства для всех параметров, которые необходимо ввести, и затем выполняем некоторые приемы, чтобы объект автоматически заполнялся контейнером из файла конфигурации.

Вы можете прочитать оэто здесь:

http://www.lostechies.com/blogs/joshuaflanagan/archive/2009/07/12/how-we-handle-application-configuration.aspx

...