fork download
using System;

namespace Articulos.Cap04.Excepciones.Parte5
{
    public class A {}
    public class B : A {}

    public sealed class UsoInvalidCastException
    {
        public static void Main()
        {
            try
            {
                A a = new A();
                
                // La conversión de superclase a subclase 
                // en una jerarquía de herencia no está 
                // permitada.
                
                // El siguiente intento de conversión generará 
                // la excepción InvalidCastException:
                B b = (B) a;
            }
            catch (InvalidCastException ice)
            {
                Console.WriteLine ("Mensaje de error: `{0}`", ice.Message);
            }
        }
    }
}
Success #stdin #stdout 0.03s 34752KB
stdin
Standard input is empty
stdout
Mensaje de error: `Cannot cast from source type to destination type.`