次のような型付きのファクトリ インターフェイスがあります。
public interface ILogMessageFactory
{
ILogMessage Create(LogMessageType logMessageType, String text);
}
そして、私はそれをすべて次のように登録しています:
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.AddFacility<TypedFactoryFacility>();
container.Register(
Component.For(typeof(ConsolePrompter)),
Component.For<ILogger>().ImplementedBy<ConsoleLogger>().LifeStyle.Transient,
Component.For<ILogMessageFactory>().AsFactory(),
Component.For<ILogMessage>().ImplementedBy<LogMessage>().LifeStyle.Transient
);
}
問題は、メソッドを自分で実装して、ILogMessageFactory.Create
戻る前にいくつかのことを設定したいということです。
私は明らかな素朴な解決策を試しましたが、成功しませんでした:
Component.For<ILogMessageFactory>().ImplementedBy<LogMessageFactory>().AsFactory()
私はこれに間違って近づいていますか?指定されたオブジェクトのコンストラクターですべての初期化を保持する必要がありますか?