キャッスルウィンザー:プログラムでリストを登録する方法(代わりに構成ファイルを使用)

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

質問

リストパラメーターでオブジェクトを登録したいが、構成ファイルを使用せずに登録したいと思います。これは、現在使用している構成ファイルです。

<?xml version="1.0" encoding="utf-8" ?>
<castle>
  <components>
    <component id="EmailParser"
     service="ESImportCommon.Email.IEmailParser, ESImportCommon"
     type="ESImportCommon.Email.EmailParser, ESImportCommon">
    </component>
  </components>
</castle>
役に立ちましたか?

解決

あなたはこのようにそれをすることができます:

        using ESImportCommon.Email;

        ....

        var container = new WindsorContainer(new XmlInterpreter()); 
        container.AddFacility<FactorySupportFacility>();
        container.Register(Component.For<IEmailParser>().ImplementedBy<EmailParser>());

インスタンスを渡す必要はないことに注意してください XmlInterpreter 不要な場合はコンストラクターに どれか Web/app.configの構成。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top