Dependency injection 如何让Castle Windsor自动注入属性?
我的类上有一个用于日志记录服务的属性Dependency injection 如何让Castle Windsor自动注入属性?,dependency-injection,castle-windsor,property-injection,Dependency Injection,Castle Windsor,Property Injection,我的类上有一个用于日志记录服务的属性 private ILogger logger = NullLogger.Instance; public ILogger Logger { get { return logger; } set { logger = value; } } 我的组件注册中有: container.AddFacility<LoggingFacility>(x => new LoggingFacility(LoggerImplementation
private ILogger logger = NullLogger.Instance;
public ILogger Logger
{
get { return logger; }
set { logger = value; }
}
我的组件注册中有:
container.AddFacility<LoggingFacility>(x => new LoggingFacility(LoggerImplementation.Log4net));
container.AddFacility(x=>newLoggingFacility(LoggerImplementation.Log4net));
但是,Windsor似乎没有注入记录器-我缺少什么吗?AddFacility的lambda参数实际上是一个创建回调(在创建设施时调用它),而不是工厂 改用这个:
container.AddFacility("logging", new LoggingFacility(LoggerImplementation.Log4net, "path_to_log4net.config"));
顺便说一句,Windsor会在任何可能的时候自动注入属性依赖项。谢谢,你开始成为我的个人Windsor助手:-)