C#使用++;不同类中的运算符

C#使用++;不同类中的运算符,c#,operators,C#,Operators,我试图为某个东西创建一个类,我需要使用++和-,就像在int中一样。我有一个错误,它说“应该是重载二进制运算符”,但我不知道这是什么意思。这是我的密码: public static int operator ++(TriggerMeter m, int value) { if (m != null) { int newValue = m.Triggeredness + value; m.Tri

我试图为某个东西创建一个类,我需要使用++和-,就像在int中一样。我有一个错误,它说“应该是重载二进制运算符”,但我不知道这是什么意思。这是我的密码:

        public static int operator ++(TriggerMeter m, int value)
    {
        if (m != null)
        {
            int newValue = m.Triggeredness + value;
            m.Triggeredness = newValue;
            return newValue;
        }
        return 0;
    }

运算符
++
是一元运算符,您试图将其视为二进制运算符。此外,返回类型应为包含类型

因此,您的代码正确签名应为:

public static TriggerMeter operator ++(TriggerMeter m)
但是,似乎您想要覆盖
+
操作符,这与您实现的操作相同,只是将
+
替换为
+


在更改对象中的值并返回该值时要小心,这可能不是一个明显的(自然的)用法,可能会导致错误。

运算符
++
是一元运算符,您尝试将其视为二元运算符。此外,返回类型应为包含类型

因此,您的代码正确签名应为:

public static TriggerMeter operator ++(TriggerMeter m)
但是,似乎您想要覆盖
+
操作符,这与您实现的操作相同,只是将
+
替换为
+

在更改对象中的值并返回该值时要小心,这可能不是一种明显的(自然的)用法,可能会导致错误