Error del compilador CS0571

Actualización: noviembre 2007

Mensaje de error

'función': no se puede llamar explícitamente al operador o al descriptor de acceso
'function' : cannot explicitly call operator or accessor

Ciertos operadores tienen nombres internos. Por ejemplo, op_Increment es el nombre interno del operador ++. No se debe utilizar o llamar explícitamente a tales nombres de método.

El código siguiente genera el error CS0571:

// CS0571.cs
public class MyClass
{
   public static MyClass operator ++ (MyClass c)
   {
      return null;
   }

   public static int prop
   {
      get
      {
         return 1;
      }
      set
      {
      }
   }

   public static void Main()
   {
      op_Increment(null);   // CS0571
      // use the increment operator as follows
      // MyClass x = new MyClass();
      // x++;

      set_prop(1);      // CS0571
      // try the following line instead
      // prop = 1;
   }
}