c# 4.0 主要新增特性:
(1)支持动态查找
动态查找允许在编写方法、运算符和索引器调用、属性和字段访问甚至对象调用时,绕过c#静态类型检查,而在运行时进行解析。
(2)同时支持参数命名和可选参数
现在c#中的参数可以通过在成员声明中为其提供默认值来指名它是可选的。在调用该成员时,可选参数可以忽略。另外,在传入任何参数时都可以按照参数名而不是位置进行传递。
(3)增强的COM互操作特性
动态查找以及命名参数和可选参数都有助于使针对COM的编程不再像现在这样痛苦。在这些特性之上,增加了大量其他小特性,进一步改善了互操作体验。
(4)变性
c# 4.0中,把过去的IEnumerable<string>变为现在的IEnumerable<object>,并包含了类型安全的“协变性和逆变性”而且通用的BCL也将利用这一特性进行更新。