The Convert class is very convenient for handling boxed field types. The C # hard rule states that you should always unpack it into the same type:
object box = 42;
long value = (long)box;
This throws an InvalidCastException. Pretty inconvenient, especially since converting int to long is never a problem otherwise. However, it was necessary to make unboxing effective, very important in .NET 1.x before generics were available.
IConvertable. :
object box = 42;
long value = Convert.ToInt64(box);
, - . . , , , . Convert.ToBoolean(DateTime) , , .