C# 有人能解释一下这种通用语法吗?

C# 有人能解释一下这种通用语法吗?,c#,generics,delegates,action,C#,Generics,Delegates,Action,我在谷歌上做了一些研究,但没有找到任何解释语法的东西 因此,我将操作用于生产者-消费者,其中操作是要执行的消费者操作。我右键单击操作-“转到定义”以查看其定义,这就是显示的内容 public delegate void Action<in T>(T obj); public delegate void Action(T obj); 嗯。。。我已经使用泛型很长一段时间了,从来没有使用过也没有见过 有人手头有一个很好的总结来解释语法和它产生了什么吗 谢谢。D在C#4.0中引入了泛型类

我在谷歌上做了一些研究,但没有找到任何解释语法的东西

因此,我将
操作
用于生产者-消费者,其中
操作
是要执行的消费者操作。我右键单击
操作
-“转到定义”以查看其定义,这就是显示的内容

public delegate void Action<in T>(T obj);
public delegate void Action(T obj);
嗯。。。我已经使用泛型很长一段时间了,从来没有使用过也没有见过

有人手头有一个很好的总结来解释语法和它产生了什么吗

谢谢。D

在C#4.0中引入了泛型类型的协方差和方差修饰符,以允许对泛型类型进行协方差和反向方差

对于泛型类型参数,关键字中的指定类型参数为逆变型

对于泛型类型参数,out关键字指定类型参数是协变的


从MSDN开始:

协方差允许方法具有比接口的泛型类型参数定义的更派生的返回类型

相反,允许方法的参数类型的派生比接口的泛型参数指定的派生少


谷歌也为对冲提供了支持