请有人帮我理解下面的陈述:
kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => ctx.Kernel)
<Func<IKernel>>().ToMethod(ctx => () => ctx.Kernel
)我知道kernel.bind用于将Interface绑定到Concrete类型,但不确定上面的内容,因为没有给出具体的类型。
它如何适应现实世界的情景。基本上为什么以及何时使用此功能
由于
答案 0 :(得分:5)
看起来像ninject。
基本上它会告诉ninject的DIContainer
返回一个函数,只要有人问Kernel
DIContainer
,就会返回当前上下文的Func<IKernel>
。
看看here。
那么,Func
是什么?
封装没有参数并返回值的方法 由TResult参数指定的类型。
您应该查看generics和lambda expressions。