使用方法注入注入自定义参数
Injecting Custom Args using Method Injection
我是 Ninject 的新手。我已经看到可以使用
完成带有自定义参数的构造函数注入
Bind<>().To<>().WithConstructorArguments("Name","Value")
然后我想,尝试使用一些自定义参数的方法注入示例,如下所示:
[Inject]
public void DoSomething(int a,string data,double b, etc...)
{
}
但是,我一直在研究如何将数据传递给那些参数。
我检查了 intellisense 并看到了诸如 WithConstructorArgument、WithPropertyValue 等函数,所以我相信 should/may 是实现此功能的一个选项..
请问如何解决这个问题
提前致谢。
你不能那样使用方法注入。但是,您可以使用 OnActivation
扩展名,例如:
Bind<>().To<>()
.OnActivation(x => x.DoSomething(5, "hello world", 3.5,...);
它在 ninject 调用 ctor 并执行 属性 / 方法注入后执行。所以每个实例恰好一次。实际上,这应该正是您要寻找的。
我是 Ninject 的新手。我已经看到可以使用
完成带有自定义参数的构造函数注入Bind<>().To<>().WithConstructorArguments("Name","Value")
然后我想,尝试使用一些自定义参数的方法注入示例,如下所示:
[Inject]
public void DoSomething(int a,string data,double b, etc...)
{
}
但是,我一直在研究如何将数据传递给那些参数。
我检查了 intellisense 并看到了诸如 WithConstructorArgument、WithPropertyValue 等函数,所以我相信 should/may 是实现此功能的一个选项..
请问如何解决这个问题
提前致谢。
你不能那样使用方法注入。但是,您可以使用 OnActivation
扩展名,例如:
Bind<>().To<>()
.OnActivation(x => x.DoSomething(5, "hello world", 3.5,...);
它在 ninject 调用 ctor 并执行 属性 / 方法注入后执行。所以每个实例恰好一次。实际上,这应该正是您要寻找的。