有人可以解释为什么需要添加 out 或 in 参数来指示泛型类型是 C# 4.0 中的 Co 或 Contra 变体吗?
我一直在努力理解为什么这很重要以及为什么编译器不能简单地弄明白..
谢谢,
乔希
最佳答案
从事语言工作的 Eric Lippert 在 msdn 上有一系列帖子应该有助于澄清所涉及的问题:
http://blogs.msdn.com/ericlippert/archive/tags/Covariance+and+Contravariance/default.aspx
阅读该链接中显示的文章时,请从底部开始,然后向上阅读。
最终您将到达 #7 (Why do we need a syntax at all?) .
关于c# - 为什么我们需要 C# 中的协变和逆变的新关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/268836/