Error del compilador CS0558

Actualización: noviembre 2007

Mensaje de error

El operador 'operador' definido por el usuario debe declararse como static y public
User-defined operator 'operator' must be declared static and public

Los modificadores de acceso static y public deben especificarse ambos en los operadores definidos por el usuario.

El código siguiente genera el error CS0558:

// CS0558.cs
namespace x
{
   public class ii
   {
      public class iii
      {
         static implicit operator int(iii aa)   // CS0558, add public
         {
            return 0;
         }
      }

      public static void Main()
      {
      }
   }
}