Co- and contra-varance do not require the .NET framework 4, but the corresponding interfaces and delegate types have been updated to support dispersion. For example. IEnumerable<T> now IEnumerable<out T> .
The new dynamic keyword is bound to the IDynamicMetaObjectProvider interface, which is used to implement dynamic binding. It can be said that dynamic binding requires DLR, which is part of the new runtime and structure.
Brian rasmussen
source share