// // This is a compile test, submitted by Joe. We really need // a more thorough set of tests for the user defined explicit // conversions // using System; class A { public static explicit operator X (A foo) { X myX = new X(); return myX; } } class X { } class Y : X { } class blah { public static int Main () { A testA = new A(); X testX = (X) testA; try { Y testY = (Y) testA; } catch (InvalidCastException){ return 0; } // // We should have thrown the exception above // return 1; } }