在C#4.0出来之前,我对协变和逆变很兴奋。它让我喜欢理论上的正确性!但是,现在它已经出来了,我又回到了编写普通的,日常的,无聊的代码,我开始怀疑:我曾经使用过它吗?我注意到我没有有意识地使用它。我自己定义的接口或代表都没有从中受益。C#4.0中协变和反变换的真实用例的实例?
只有一个单个案例我后来发现我在不知不觉中使用了协变,但它非常微妙,我也可能没有注意到它。试想X
是一个基类和Y
是它的后代:
if (enumerableOfYs.Contains(variableOfTypeX))
是否有任何地方你们都使用协方差或逆变在现实生活中,不做作的使用 - 任何有趣的或令人振奋的例子并通过惊人的“正确”而真正拯救了这一天?
你的意思是除了像IEnumerable','Func'和'IComparable '你可能每天都在使用而不知道它吗? –
Gabe
2010-08-27 05:10:52