【问题标题】:What is in and out on delegate in c#?c# 中委托的进出是什么?
【发布时间】:2018-01-30 05:05:52
【问题描述】:

在 c# 代码中,我找到了这个工具。

我试图找出这个 in 和 out 的含义,但那里只解释了 out 关键字。

那么这些 in 和 out 关键字有什么作用呢?

public delegate Tb Reader<in Ta, out Tb>( Ta a );

【问题讨论】:

    标签: c# methods delegates method-signature


    【解决方案1】:

    in 参数指定类型参数是逆变的——你可以传入一个 Ta 继承自的类。

    out 参数指定该参数是协变的 -> 可以使用更多派生类型。

    in 修饰符参见here,out 修饰符参见here

    【讨论】:

      【解决方案2】:

      他们可以像下面的例子那样做。

      Reader<string,object> first = someString => return someObject;
      Reader<object,string> second= someObject => return someString;
      first=second;
      

      【讨论】:

        猜你喜欢
        • 2012-03-23
        • 1970-01-01
        • 2013-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多