Error del compilador CS0562

Actualización: noviembre 2007

Mensaje de error

El parámetro de un operador unario debe ser el tipo contenedor
The parameter of a unary operator must be the containing type

La declaración de método para la sobrecarga de un operador debe seguir ciertas normas. Para obtener más información, vea Operadores sobrecargables y Ejemplo Operator Overloading.

Ejemplo

El código siguiente genera el error CS0562:

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

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

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

    public static void Main()
    {
    }
}