Covariance and Contravariance in C# 4.0 PRO

Covariance and Contravariance deal with the oredering of types from narrower to wider and their interchangeability or equivalence in specific cases.

When a software programming language supports covariance it means that in specific cases (such as function parameters, generics and function returned types) it supports the conversion from a narrower type (e.g. int) to a wider one (e.g. double).

When a software programming language supports contravariant it means that in specific cases (such as function parameters, generics and function returned types) it supports conversion from a wider type (e.g. double) to a narrower one (e.g. int).

C# 4.0 support for covariance allows us to define a delegate with a return type which is wider than the return type of the function we assign to a variable of that specific delegate type. The following video clip shows a small code sample for this capability.

C# 4.0 support for contravariance allows us to define a function with parameters types higher in the hierarchy (wider) comparing with the parameters types (narrower) we include in our definition for the delegate. The following video clip show a small code sample for this capability.

Share:

banner for the css playlist in hebrew life michael courses for programmers

The First Steps in CSS

Learn CSS using our our videos (in Hebrew) on the CSS (he) playlist on youtube. Do it now. Do it for free.

Good Trainers Collaborate with Others

It is always essential to keep an open mind and learn from others. This applies to everyone, including teachers and especially software development trainers. Software

The Beauty of Code

Coding is Art! Developing Code That Works is Simple. Develop Code with Style is a Challenge!

Update cookies preferences