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 Operator Overloading Sample.

Example

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()
    {
    }
}