gpt4 book ai didi

c# - Ninject 将委托(delegate)传递给 WithConstructorArgument

转载 作者:太空狗 更新时间:2023-10-29 23:33:33 25 4
gpt4 key购买 nike

我需要指向 Ninject 绑定(bind)中的一个方法作为构造函数参数的一部分。该类的构造函数如下所示:

MyObject(Func<Populator> param1, TimeSpan time)

我一直在寻找,但未能找到一种方法来绑定(bind) Func 的委托(delegate)。这可能吗? Ninject 不允许我这样做,因为它需要一个对象作为参数,并且不会接受委托(delegate)。

Bind<IInterface>()
.To<MyObject>()
.InSingletonScope()
.WithConstructorArgument
("param1", ctx => ctx.Kernel.Get<OtherWiredObject>().PopMethod)
.WithConstructorArgument
("time", new TimeSpan(0,30,0));

有没有办法让这种行为在 Ninject 中发挥作用?

最佳答案

你可以像这样定义一个绑定(bind):

Bind<Func<Populator>>().ToMethod(ctx => ctx.Kernel.Get<OtherWiredObject>().PopMethod);

关于c# - Ninject 将委托(delegate)传递给 WithConstructorArgument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9506885/

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