Compiler Error CS1019

应输入可重载的一元运算符

声明了类似于重载的一元运算符的内容,但缺少该运算符,或该运算符在签名中的位置不正确。

“一元运算符”是一种对单个操作数进行运算的运算符。例如,++ 是一元运算符。您可以通过使用 operator 关键字并指定运算符所运算的类型的单一参数来重载某些一元运算符。例如,如果要为用户定义的类 Temperature 重载运算符 ++ 以便能够写入 Temperature++,您可以采用以下方式定义该类:

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

如果收到此错误,则表明您声明了类似于重载的一元运算符的内容,但缺少该运算符本身,或其在签名中的位置不正确。如果在前面的示例中从签名中移除了 ++,将会生成 CS1019。

下面的代码生成 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()
   {
   }
}

请参阅

运算符(C# 编程指南)