DEV Community

Discussion on: Contravariance in the real world

Collapse
 
courier10pt profile image
Bob van Hoove

Thanks for bringing this up, it never quite stuck with me.

Here's a C# example using the 'accepts' phrasing:

// Covariant:
//
//         generic    (accepts)   specific
//
IEnumerable<object> objects = new string[] { "a", "b", "c" }; 


// Contravariant:
//
//    specific      (accepts)       generic
//
Action<string> printIt = new Action<object>(o => Console.WriteLine(o));

Pretty much copied from MSDN : Covariance and Contravariance FAQ

Collapse
 
vitornovictor profile image
Vitor Nunes

I'm glad it helped :)
Thanks for sharing this example!