StructureMap:非文字列コンストラクター引数を使用したEqualToAppSetting

StackOverflow https://stackoverflow.com/questions/1000374

  •  05-07-2019
  •  | 
  •  

質問

指定

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を使用する方法はありますか?

役に立ちましたか?

解決

EqualToAppSettingメソッドを使用してこれを実行できるとは思わない。 System.Configurationを参照して、自分でアプリの設定をキャストするだけではありませんか?このように...

      ForRequestedType<IBlah>()
        .TheDefault.Is.OfConcreteType<Blah>()
        .WithCtorArg("blah")
        .EqualTo(Convert.ToDecimal(ConfigurationManager.AppSettings["argument_app_setting_key"]));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top