A Variant is a type that can hold any value, and also keeps track of the type of the value it holds.
It's useful for cases where you want to store a value of an unknown type, or when you want to
serialize/deserialize values of various types in a generic way.
It's a cool idea but I don't see why this couldn't just have been a JsonConverter and ControlWidget for type object.
There's no situation where you'd create an [Property] object or [Property] List<object> property unless you wanted to "serialize/deserialize values of various types". So an entirely new type just for this seems unneccesary and confusing.
object.There's no situation where you'd create an
[Property] objector[Property] List<object>property unless you wanted to "serialize/deserialize values of various types". So an entirely new type just for this seems unneccesary and confusing.