Errore del compilatore CS0562

Aggiornamento: novembre 2007

Messaggio di errore

Il parametro di un operatore unario deve essere il tipo che lo contiene.
The parameter of a unary operator must be the containing type

La dichiarazione di metodo per l'overload di un operatore deve seguire determinate indicazioni. Per ulteriori informazioni, vedere Operatori che supportano l'overload e Esempio di overload dell'operatore.

Esempio

Il seguente codice di esempio genera l'errore 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()
    {
    }
}