鉴于
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与非字符串参数一起使用?
答案 0 :(得分:2)
我认为你不能用EqualToAppSetting方法做到这一点。您是否可以自己引用System.Configuration并自行投射应用设置?像这样......
ForRequestedType<IBlah>()
.TheDefault.Is.OfConcreteType<Blah>()
.WithCtorArg("blah")
.EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));