StructureMap: EqualToAppSetting con argumento de constructor sin cadenas
-
05-07-2019 - |
Pregunta
Dado
public class Blah : IBlah
{
public Blah(decimal argument)
{
}
}
Cuándo
ForRequestedType<IBlah>()
.TheDefault.Is.OfConcreteType<Blah>()
.WithCtorArg("argument")
.EqualToAppSetting("argument_app_setting_key")
Luego, StructureMap lanza la siguiente excepción
No Default Instance defined for PluginFamily System.Decimal
¿Hay alguna forma de usar EqualToAppSetting con argumentos que no sean de cadena?
Solución
No creo que pueda hacer esto con el método EqualToAppSetting. ¿No podría simplemente hacer referencia a System.Configuration y convertir la configuración de la aplicación usted mismo? Me gusta esto ...
ForRequestedType<IBlah>()
.TheDefault.Is.OfConcreteType<Blah>()
.WithCtorArg("blah")
.EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow