0

有人可以帮我理解下面的陈述吗:

kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => ctx.Kernel)
  1. 上面的代码是做什么的?
  2. 什么是功能?
  3. 它是否试图将 IKernel 绑定和接口到某个东西......?这部分真的让我很困惑 <Func<IKernel>>().ToMethod(ctx => () => ctx.Kernel:)

我知道 kernel.bind 用于将接口绑定到具体类型,但不确定上述内容,因为没有给出具体类型。

它如何适应现实世界的场景。基本上为什么以及何时使用此功能

谢谢

4

1 回答 1

5

看起来像ninject

基本上它告诉DIContainerninject 返回一个函数,该函数返回当前Kernel上下文DIContainerFunc<IKernel>

看看这里


那么,什么是Func

MSDN 的文档中

封装没有参数的方法,并返回由 TResult 参数指定的类型的值。

你应该看看泛型lambda 表达式

于 2012-06-14T11:40:15.890 回答