Domanda

Data

public class Blah : IBlah 
{
    public Blah(decimal argument)
    {
    }
}

Quando

ForRequestedType<IBlah>()
    .TheDefault.Is.OfConcreteType<Blah>()
    .WithCtorArg("argument")
    .EqualToAppSetting("argument_app_setting_key")

Quindi StructureMap genera la seguente eccezione

No Default Instance defined for PluginFamily System.Decimal

Esiste un modo per utilizzare EqualToAppSetting con argomenti non stringa?

È stato utile?

Soluzione

Non credo che tu possa farlo con il metodo EqualToAppSetting. Potresti non solo fare riferimento a System.Configuration e lanciare tu stesso l'impostazione dell'app? In questo modo ...

      ForRequestedType<IBlah>()
        .TheDefault.Is.OfConcreteType<Blah>()
        .WithCtorArg("blah")
        .EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top