StructureMap: EqualToAppSetting с аргументом нестрокового конструктора
Дано
public class Blah : IBlah
{
public Blah(decimal argument)
{
}
}
когда
ForRequestedType<IBlah>()
.TheDefault.Is.OfConcreteType<Blah>()
.WithCtorArg("argument")
.EqualToAppSetting("argument_app_setting_key")
Затем StructureMap выдает следующее исключение
No Default Instance defined for PluginFamily System.Decimal
Есть ли способ использовать EqualToAppSetting с нестроковыми аргументами?
1 ответ
Решение
Я не думаю, что вы можете сделать это с помощью метода EqualToAppSetting. Не могли бы вы просто сослаться на System.Configuration и самостоятельно настроить параметры приложения? Как это...
ForRequestedType<IBlah>()
.TheDefault.Is.OfConcreteType<Blah>()
.WithCtorArg("blah")
.EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));