/TypedVariant

A simple C# class using Generics that allows a type-safe way to access Variants

Based on the StackOverflow question from
http://stackoverflow.com/questions/1649264/how-to-make-a-type-safe-wrapper-around-variant-values

The idea is to wrap non-type safe Objects into a type-safe class so that their actual values can be used.
OPC Data tags stored values as objects but they are reallt an int, int32, string, char etc.

The main benefit is that we only have to specify the type of the OPC data once and from then onwards we
can pass the TypedVariant class around on only pull out the correct value


USAGE
-----

object opcDataTag = (object)"testing"; //this would be returned from an OPC Data Tag, not created this way!!
var typedVariant = new TypedVariant<string>(opcDataTag);
.....
string actualString = typedVariant; //using implicit cast
int actualInt = typedVariant; //COMPILE time fail as "typedVariant" only contains a string value