Compiler Error CS0563

 

Updated: July 20, 2015

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

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

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

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

Show: