StructureMap: EqualToAppSetting с аргументом нестрокового конструктора - PullRequest
3 голосов
/ 16 июня 2009

С учетом

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 Ответ

2 голосов
/ 17 июня 2009

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

      ForRequestedType<IBlah>()
        .TheDefault.Is.OfConcreteType<Blah>()
        .WithCtorArg("blah")
        .EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));
...