This documentation is archived and is not being maintained.

Compiler Error CS0563

One of the parameters of a binary operator must be the containing type

The method declaration for an operator overload must follow certain guidelines. For more information, see Overloadable Operators.

The following sample generates CS0563:

// CS0563.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, int bb)   // CS0563 
   // Use the following line instead:
   // public static int operator +(int aa, iii bb)    
   {
      return 0;
   }
   public static void Main()
   {
   }
}

See Also

Operator Overloading Tutorial

Show: