【问题标题】:C# using ++ operator in different classC# 在不同的类中使用 ++ 运算符
【发布时间】:2017-03-19 06:23:09
【问题描述】:

我正在尝试为某事创建一个类,我需要像在 int 中一样使用 ++ 和 -- 运算符。我有一个错误,它说“预期可重载的二进制运算符”,但我不知道这是什么意思。这是我的代码:

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

【问题讨论】:

    标签: c# operators


    【解决方案1】:

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

    所以你的代码正确签名应该是:

    public static TriggerMeter operator ++(TriggerMeter m)
    

    但是,您似乎想要覆盖 + 运算符,这与您实现的相同,只是将 ++ 替换为 +

    要小心,因为您正在更改对象中的值并返回它,这可能不是一个明显(和自然)的用法,并且可能导致错误。

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 2021-09-15
      • 2021-10-02
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      相关资源
      最近更新 更多