使用Windsor容器设置静态属性依赖关系需要哪些配置?
我现在有以下课程,我希望注入Logger属性。
static class StuffDooer
{
static ILogger Logger { get; set; }
static StuffDooer() { Logger = NullLogger.Instance; }
}
这是我的配置,虽然,这个工具似乎自动找到实例属性没问题,静态版本没有设置。
<facility id="logging"
type="Castle.Facilities.Logging.LoggingFacility, Castle.Facilities.Logging"
loggingApi="nlog"
customLoggerFactory="Castle.Services.Logging.NLogIntegration.NLogFactory"
configFile="Configuration/nlog.config" />
答案 0 :(得分:27)
StuffDooer.Logger = container.Resolve<ILoggerFactory>().GetLogger(typeof(StuffDoer));
如果你觉得它很难看,那就是正确的反应。静力学和IoC不混合,与酒精和驾驶相同。