Autofac 自动传真至公共服务定位器(类型参数问题)

Autofac 自动传真至公共服务定位器(类型参数问题),autofac,common-service-locator,Autofac,Common Service Locator,如何从Autofac修改以下内容以使用公共服务定位器(其中_context的类型为IComponentContext): var query=_context.Resolve(TypedParameter.From(this)); 上面的代码取自Orchard,我正试图消除对Autofac的依赖。通常我会尝试以下方式: var query = ServiceLocator.Current.GetInstance<IContentQuery>(); var query=Servic

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

var query=_context.Resolve(TypedParameter.From(this));
上面的代码取自Orchard,我正试图消除对Autofac的依赖。通常我会尝试以下方式:

var query = ServiceLocator.Current.GetInstance<IContentQuery>();
var query=ServiceLocator.Current.GetInstance();
但是它返回null,我不知道如何处理TypedParameter,因为我不知道它在做什么


如果有人能帮忙,我会非常感激的。感谢

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

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

希望这有帮助。 尼克

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