Compilerfehler CS0035
Der Operator „operator“ ist bei einem Operanden vom Typ „type“ mehrdeutig.
Der Compiler unterstützt verschiedene Konvertierungen und kann nicht entscheiden, welche er vor dem Anwenden des Operators auswählen soll.
Im folgenden Beispiel wird CS0035 generiert:
// CS0035.cs
class MyClass
{
private int i;
public MyClass(int i)
{
this.i = i;
}
public static implicit operator double(MyClass x)
{
return (double) x.i;
}
public static implicit operator decimal(MyClass x)
{
return (decimal) x.i;
}
}
class MyClass2
{
static void Main()
{
MyClass x = new MyClass(7);
object o = - x; // CS0035
// try a cast:
// object o = - (double)x;
}
}
Weitere Informationen
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
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