Error del compilador CS0556

Actualización: noviembre 2007

Mensaje de error

La conversión definida por el usuario debe realizarse en el tipo envolvente o desde éste
User-defined conversion must convert to or from the enclosing type

Una rutina de conversión definida por el usuario debe realizarse en la clase que contiene la rutina o desde ésta.

El código siguiente genera el error CS0556:

// CS0556.cs
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()
      {
      }
   }
}