StructureMap: EqualToAppSetting с аргументом конструктора non string

Данный

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 с нестроковыми аргументами?

inversion-of-control,structuremap,

3

Ответов: 1


2 принят

Я не думаю, что вы можете сделать это с помощью метода EqualToAppSetting. Не могли бы вы просто ссылаться на System.Configuration и настроить приложение самостоятельно? Как это...

      ForRequestedType<IBlah>()
        .TheDefault.Is.OfConcreteType<Blah>()
        .WithCtorArg("blah")
        .EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));
инверсии из-под контроля, StructureMap,
Похожие вопросы