Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ninject Func澄清_C# - Fatal编程技术网

C# Ninject Func澄清

C# Ninject Func澄清,c#,C#,有人能帮我理解下面的陈述吗 kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => ctx.Kernel) kernel.Bind().ToMethod(ctx=>()=>ctx.kernel) 上面的代码做什么 什么是Func 它是否试图将IKernel绑定并连接到某个东西上。。。?这一部分让我很困惑: ().ToMethod(ctx=>()=>ctx.Kernel) 我知道kernel.bind用于将接口绑

有人能帮我理解下面的陈述吗

kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => ctx.Kernel)
kernel.Bind().ToMethod(ctx=>()=>ctx.kernel)
  • 上面的代码做什么
  • 什么是Func
  • 它是否试图将IKernel绑定并连接到某个东西上。。。?这一部分让我很困惑:
    ().ToMethod(ctx=>()=>ctx.Kernel
  • 我知道kernel.bind用于将接口绑定到具体类型,但不确定上述内容,因为没有给出具体类型

    它如何适应现实世界的情况。基本上我为什么和什么时候使用这个函数

    谢谢

    看起来像

    基本上,它告诉ninject的
    DIContainer
    ,每当有人向
    DIContainer
    请求
    Func
    时,返回当前上下文的
    内核的函数

    看一看


    那么,什么是
    Func

    发件人:

    封装一个没有参数且返回值为的方法 TResult参数指定的类型

    你应该调查一下

    看起来像

    基本上,它告诉ninject的
    DIContainer
    ,每当有人向
    DIContainer
    请求
    Func
    时,返回当前上下文的
    内核的函数

    看一看


    那么,什么是
    Func

    发件人:

    封装一个没有参数且返回值为的方法 TResult参数指定的类型


    你应该调查一下

    顺便说一句:这与LINQ无关。仅供参考,这不是LINQ查询。
    ToMethod
    方法采用
    Func
    ,其中
    T
    是返回类型。代码
    ctx=>()=>ctx.Kernal
    是一个Lambda表达式(),可以转换为
    Func
    。lambda通常与Linq运算符一起使用,但您发布的代码不是Linq查询。顺便说一句:这与Linq无关。仅供参考,这不是Linq查询。
    ToMethod
    方法采用
    Func
    ,其中
    T
    是返回类型。代码
    ctx=>()=>ctx.Kernal
    是一个Lambda表达式(),可以转换为
    Func
    。lambda通常与Linq运算符一起使用,但您发布的代码不是Linq查询。谢谢,但还不清楚什么是Func和ctx。内核可以用简单的术语解释。
    Func
    是泛型,而
    ctx=>()=>ctx.Kernel
    是lambda表达式。这是干什么用的?ctx=>()=>ctx.kernel基本上它创建了一个新方法,其中一个参数类型为
    IContext
    ,返回类型为
    IKernel
    。调用此方法时,将返回作为参数传递的对象的
    Kernel
    属性。仍然不清楚,抱歉。IContext在什么时候出现?它如何适应现实世界的情况。基本上我为什么和什么时候使用这个函数。谢谢,但还不清楚什么是Func和ctx。内核可以用简单的术语来解释。
    Func
    是泛型,而
    ctx=>()=>ctx。内核
    是一个lambda表达式。谢谢,这是做什么的?ctx=>()=>ctx.kernel基本上它创建了一个新方法,其中一个参数类型为
    IContext
    ,返回类型为
    IKernel
    。调用此方法时,将返回作为参数传递的对象的
    Kernel
    属性。仍然不清楚,抱歉。IContext在什么时候出现?它如何适应现实世界的情况。基本上我为什么和什么时候使用这个函数。