gpt4 book ai didi

Autofac 到通用服务定位器(TypedParameter 问题)

转载 作者:行者123 更新时间:2023-12-01 16:50:46 26 4
gpt4 key购买 nike

如何修改 Autofac 中的以下内容以使用公共(public)服务定位器(其中 _context 的类型为 IComponentContext):

var query = _context.Resolve<IContentQuery>(TypedParameter.From<IContentManager>(this));

上面的代码取自 Orchard,我正在尝试删除对 Autofac 的依赖。通常我会尝试这样的事情:

var query = ServiceLocator.Current.GetInstance<IContentQuery>();

但是这会返回 null,并且我看不到如何处理 TypedParameter 的内容,因为我不明白它在做什么。

如果有人能提供帮助,我将非常感激。谢谢

最佳答案

TypedParameter 为正在解析的组件的构造函数提供附加值。在这种情况下,底层 ContextQuery 将接受 IContentManager 类型的参数,并传递值 this

公共(public)服务定位器不支持参数化,因此您可能需要使用底层 IoC 容器的特定功能。

希望这有帮助。尼克

关于Autofac 到通用服务定位器(TypedParameter 问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346249/

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