2009-06-16 6 views
3

Compte tenuStructureMap: EqualToAppSetting avec l'argument constructeur non chaîne

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

Lorsque

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

Puis StructureMap jette l'exception suivante

No Default Instance defined for PluginFamily System.Decimal 

Est-il possible d'utiliser le EqualToAppSetting avec non -les arguments de la chaîne?

Répondre

2

Je ne pense pas que vous pouvez le faire avec la méthode EqualToAppSetting. Ne pourriez-vous pas simplement référencer System.Configuration et lancer le paramétrage de l'application vous-même? Comme ceci ...

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