gpt4 book ai didi

ninject - 通过 ToMethod 将接口(interface)绑定(bind)到带参数的方法

转载 作者:行者123 更新时间:2023-12-04 12:12:30 25 4
gpt4 key购买 nike

我认为我正在寻找的东西非常简单,但我找不到任何例子。
我想使用 Ninject 通过让 Ninject 调用具有指定参数的工厂方法来创建对象,而不是在实际请求实例化对象期间注入(inject):

在此处请求对象:

StandardKernel.Get<ISomeInteface>(new Ninject.Parameters.Parameter("dataContext", dataContext, true));

而且我想将 ISomeInterface 映射到一个期望在运行时将值传递给它的方法。

在此处映射接口(interface):
Kernel.Bind<ISomeInterface>().ToMethod(SomeObject.Create(--> `what do I put here?`));

这可能吗?如果是这样,我如何正确映射我的界面?
谢谢!

最佳答案

ToMethod(ctx => 
SomeObject.Create(
(IDataContext)ctx.Parameters.Single(p =>p.Name == "dataContext")
.GetValue(ctx, null))

但是你应该重新考虑你的设计以避免调用 Get来自复合根以外的任何地方。

关于ninject - 通过 ToMethod 将接口(interface)绑定(bind)到带参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7594262/

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