StructureMap: EqualToAppSetting com o argumento construtor não corda
-
05-07-2019 - |
Pergunta
Dada
public class Blah : IBlah
{
public Blah(decimal argument)
{
}
}
Quando
ForRequestedType<IBlah>()
.TheDefault.Is.OfConcreteType<Blah>()
.WithCtorArg("argument")
.EqualToAppSetting("argument_app_setting_key")
Em seguida, StructureMap lança a seguinte exceção
No Default Instance defined for PluginFamily System.Decimal
Existe alguma maneira de usar o EqualToAppSetting com argumentos não-string?
Solução
Eu não acho que você pode fazer isso com o método EqualToAppSetting. Você poderia não apenas referência System.Configuration e lançou o ajuste você mesmo aplicativo? Assim ...
ForRequestedType<IBlah>()
.TheDefault.Is.OfConcreteType<Blah>()
.WithCtorArg("blah")
.EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow