我有一个类型化的工厂接口,如下所示:
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()
我接近这个错误吗?我应该将所有初始化都保留在给定对象的构造函数中吗?