本文介绍了如何使用container.Resolve在模块中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是Autofac的初学者.有人知道如何使用container.Resolve在模块中吗?
I am beginner with Autofac.Does anyone know How to using container.Resolve in Module?
public class MyClass
{
public bool Test(Type type)
{
if( type.Name.Begin("My") ) return true;
return false;
}
}
public class MyModule1 : Autofac.Module
{
protected override void AttachToComponentRegistration(IComponentRegistry componentRegistry, IComponentRegistration registration)
{
var type = registration.Activator.LimitType;
MyClass my = container.Resolve<MyClass>(); //How to do it in Module?
my.Test(type);
...
}
}
如何在模块中获得容器?
How does I get container in module?
推荐答案
您可以使用IActivatingEventArgs Context属性:
You can use IActivatingEventArgs Context property:
protected override void AttachToComponentRegistration(IComponentRegistry registry, IComponentRegistration registration)
{
registration.Activated += (sender, args) =>
{
args.Context.Resolve<...>();
...
};
}
这篇关于如何使用container.Resolve在模块中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!