¿Por qué esta conversión no funciona?
El siguiente código se comporta de manera extraña (al menos para mí):
int testValue = 1234;
this.ConversionTest( testValue );
private void ConversionTest( object value )
{
long val_1 = (long) (int) value; // works
long val_2 = (long) value; // InvalidCastException
}
No entiendo por qué el lanzamiento directo (explícito) a largo no funciona. ¿Alguien puede explicar este comportamiento?
Gracias