コンパイラ エラー CS0563

バイナリ演算子のパラメーターの 1 つはそれを含む型でなければなりません

演算子のオーバーロードのためのメソッド宣言は、特定のガイドラインに沿っている必要があります。

次の例では 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()  
    {  
    }  
}