User-defined conversion must convert to or from the enclosing type
A user-defined conversion routine must convert to or from the class that contains the routine.
The following sample generates CS0556:
namespace x { public class ii { public class iii { public static implicit operator int(byte aa) { // CS0556 // try the following line instead // public static implicit operator int(iii aa) return 0; } } public static void Main() { } } }