Game Instructions

Tap a tile to toggle its color. When a tile changes nearby tiles may change as well. Each move affect multiple tiles. The target is to turn all tiles into yellow in the fewest steps possible.

Press 'j' to show/hide the game. Press 'i' to show/hide the instructions. Press 't' to show/hide the top score table.

Steps: 0

Top Scores

Name Steps
Press J to toggle the game, I to toggle instructions, and T to toggle the top scores

Congratulations!

You solved the puzzle in 0 steps!

Success!

Score submitted successfully!

Error

Failed to submit score. Please try again.

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:

The Beauty of Code

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

Update cookies preferences