将依赖项注入静态类

时间:2010-07-12 12:11:04

标签: castle-windsor

使用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" />

1 个答案:

答案 0 :(得分:27)

StuffDooer.Logger = container.Resolve<ILoggerFactory>().GetLogger(typeof(StuffDoer));

如果你觉得它很难看,那就是正确的反应。静力学和IoC不混合,与酒精和驾驶相同。