Export (0) Print
Expand All
Expand Minimize

Compiler Error CS0559

The parameter and return type for ++ or — operator must be the containing type

The method declaration for an operator overload must follow certain guidelines.

The following sample generates CS0559:

// CS0559.cs
public class iii
{
   public static implicit operator int(iii x)
   {
      return 0;
   }

   public static implicit operator iii(int x)
   {
      return null;
   }

   public static int operator ++(int aa)   // CS0559
   // try the following line instead
   // public static iii operator ++(iii aa)
   {
      return (iii)0;
   }

   public static void Main()
   {
   }
}
Show:
© 2014 Microsoft