Co-和contra-variance并不需要.NET Framework 4,但相关的接口和委托类型已经更新以支持variance。例如,IEnumerable<T>现在是IEnumerable<out T>。新的dynamic关键字与IDynamicMetaObjectProvider接口相关联,该接口用于实现动态绑定。可以说动态绑定需要DLR,它是新运行时和框架的一部分。