I was doing some type conversion routines last night for a system I am working on. One of the conversions involves turning string values into their DateTime equivalents.
If you look closely, most of the overloads are invalid and will throw an InvalidCastException.
InvalidCastException
It has to implement all of the casts as it implements IConvertible and this is the only way to do it correctly.
IConvertible