gpt4 book ai didi

caSTLe-windsor - 将依赖项注入(inject)静态类

转载 作者:行者123 更新时间:2023-12-03 23:20:26 26 4
gpt4 key购买 nike

使用 Windsor 容器设置静态属性依赖项需要什么配置?

我目前有以下类(class),我希望注入(inject) 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" />

最佳答案

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

如果你觉得它丑,那就是正确的 react 。静态和 IoC 不会混合,就像酒精和驾驶一样。

关于caSTLe-windsor - 将依赖项注入(inject)静态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3228368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com