Compilerfehler CS1019Compiler Error CS1019

Überladbarer unärer Operator erwartetOverloadable unary operator expected

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.Something that looks like an overloaded unary operator has been declared, but the operator is missing or is in the wrong location in the signature.

Ein unärer Operator ist ein Operator, der auf einen einzelnen Operanden angewendet wird.A unary operator is an operator that operates on a single operand. ++ ist z.B. ein unärer Operator.For example, ++ is a unary 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.You can overload some unary operators by using the operator keyword and specifying a single parameter of the type that the operator operates on. 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:For example, if you want to overload the operator ++ for a user-defined class Temperature so that you can write Temperature++, you can define it in this way:

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.When you receive this error, you have declared something that looks like an overloaded unary operator, except that the operator itself is missing or is in the wrong location in the signature. Wenn Sie ++ aus der Signatur im vorherigen Beispiel entfernen, werden Sie CS1019 generieren.If you remove the ++ from the signature in the previous example, you will generate CS1019.

Durch den folgenden Code wird der Fehler CS1019 ausgelöst:The following code generates CS1019:

// 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 auchSee Also

OperatorenOperators