C#4.0中协方差和逆变的良好,真实用例的例子?

前端之家收集整理的这篇文章主要介绍了C#4.0中协方差和逆变的良好,真实用例的例子?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在C#4.0问世之前,我对协方差和逆变感到非常兴奋.它迎合了我对理论正确性的喜爱!

然而,既然已经出局了,我又回到了写正常,日常,无聊的代码,我开始怀疑:我曾经使用它吗?我注意到我并没有有意识地使用它.我之后定义的接口或代理都没有从中受益.

只有一个案例我后来发现我不知不觉地使用了协方差,但它非常微妙,我也没有注意到它.想象X是一个基类,Y是它的后代:

if (enumerableOfYs.Contains(variableOfTypeX))

有没有任何有趣或令人兴奋的例子,你们中的任何一个人在现实生活中,非人为的用例中使用了协方差或逆变,它真的通过非常“正确”来挽救了这一天?

解决方法

我在实际的客户编写程序(而不是编写编译器测试用例或文章或其他任何东西)中遇到的唯一“真实世界”方差的使用是我现在可以传递IEnumerable< TypeParameterDefinedInSource>一个期望IEnumerable< TypeSymbol>的方法当我用C#编写代码分析工具时.

这真的不是一种“拯救一天”的功能.它更像是“它按照我期望的方式工作”功能.

猜你在找的C#相关文章