Dynamic and the DLR

Dynamic Dispatch On to the interop features in C# 4.0, starting with what is perhaps the biggest change. C# now supports dynamic late-binding. The language has always been strongly typed, and it continues to be so in version 4.0. Microsoft believes this makes C# easy to use, fast and suitable for all the work .NET … Continue reading Dynamic and the DLR

Covariance and Contravariance FAQ

What are covariance and contravariance? In C#, covariance and contravariance enable implicit reference conversion for array types, delegate types, and generic type arguments.Covariance preserves assignment compatibility and contravariance reverses it. The following code demonstrates the difference between assignment compatibility, covariance, and contravariance. // Assignment compatibility. string str = "test"; // An object of a more … Continue reading Covariance and Contravariance FAQ