c#中代表的内容和内容是什么?

时间:2017-08-22 04:00:37

标签: c# methods delegates method-signature

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

我试图找出这个内外意义,但只解释了那里的关键词。

那么这些in和out关键字的作用是什么?

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

2 个答案:

答案 0 :(得分:3)

in参数指定type参数是逆变的 - 你可以传入Ta继承的类。

out参数指定参数是协变的 - &gt;你可以使用更多派生类型。

有关in modifer的信息,请参阅here,有关out修饰符,请参阅here

答案 1 :(得分:-1)

他们可以像下面这样做。

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