Compilerfehler CS1019

Überladbarer unärer Operator erwartet.

Es wurde ein überladener unärer Operator deklariert, aber der Operator fehlt oder befindet sich in der Signatur an der falschen Position.

Ein unärer Operator ist ein Operator, der auf einen einzelnen Operanden angewendet wird. ++ ist beispielsweise ein unärer Operator. Sie können einige unäre Operatoren mit dem operator-Schlüsselwort überladen und einen einzelnen Parameter des Typs angeben, auf den der Operator angewendet wird. Wenn Sie beispielsweise den Operator ++ für eine benutzerdefinierte Klasse Temperature überladen möchten, sodass Sie Temperature++ schreiben können, verwenden Sie die folgende Definition:

public static  Temperature operator ++ (Temperature temp)
{
    temp.Degrees++;
    return temp;
}

Wenn dieser Fehler ausgelöst wird, haben Sie einen überladenen unären Operator deklariert, aber der Operator fehlt oder befindet sich in der Signatur an der falschen Position. Wenn Sie im vorangehenden Beispiel ++ aus der Signatur entfernen, wird CS1019 generiert.

Mit dem folgenden Code wird der Fehler CS1019 generiert:

// CS1019.cs
public class ii
{
   int i
   {
      get
      {
         return 0;
      }
   }
}

public class a
{
    public int i;
// Generates CS1019: "ii" is not a unary operator.
   public static a operator ii(a aa)   
                                       
   // Use the following line instead:
   //public static a operator ++(a aa)
   {
      aa.i++;
      return aa; 
   }

   public static void Main()
   {
   }
}

Siehe auch

Referenz

Operatoren (C#-Programmierhandbuch)