Compilerfehler CS1019
Überladbarer unärer Operator erwartet
Etwas, das wie ein überladener unärer Operator aussieht, wurde deklariert, aber der Operator ist nicht vorhanden oder befindet sich im falschen Speicherort in der Signatur.
Ein unärer Operator ist ein Operator, der auf einen einzelnen Operanden angewendet wird. ++
ist z.B. 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, damit Sie Temperature++
schreiben können, können Sie ihn auf diese Weise definieren:
public static Temperature operator ++ (Temperature temp)
{
temp.Degrees++;
return temp;
}
Wenn Sie diesen Fehler erhalten, haben Sie etwas, das wie ein überladener unärer Operator aussieht, deklariert, außer dass der Operator nicht vorhanden ist oder sich im falschen Speicherort in der Signatur befindet. Wenn Sie ++
aus der Signatur im vorherigen Beispiel entfernen, werden Sie CS1019 generieren.
Durch den folgenden Code wird der Fehler CS1019 ausgelöst:
// 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()
{
}
}
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für