Storing a type in the class and using unions.
Last month in Vegas several Gurus were flaming against those kind of things.
Mind giving us an example? See, the question with the variant type... is that we need it to be:
a) Compact - to use the least possible memory, because we'll be using THOUSANDS of these.
b) Easily serializable. For me, using a char to define the type fits this.