尝试在字符串上重载操作符时收到错误

本文关键字:错误 操作符 重载 字符串 | 更新日期: 2023-09-27 18:19:24

我知道这可以在c++中完成,但我不确定要寻找什么。基本上,我在一个名为Priority的自定义类中有一个string值。我想做的是添加一个自定义操作符来允许Priority++Priority--发生一些事情。操作如下所示:

public static -- ()
{
    Int32 priority = Convert.ToInt32(value);
    priority--;
    string returnValue = priority.ToString();
    return returnValue;
}

++则相反。我所拥有的可以在下面找到,但是我收到错误Priority is a property, but is used like a type.

现有错误代码:

public static Priority operator ++(string value)
{
    Int32 priority = Convert.ToInt32(value);
    priority--;
    string returnValue = priority.ToString();
    return returnValue;
}

尝试在字符串上重载操作符时收到错误

退一步考虑:

int i = 0;
i++;

这里的++操作符接受int型,并返回更新后的int型。

我有一个简单的类:
public class MyClass
{
    public string Test { get; set; }
    public static MyClass operator ++(MyClass myclass)
    {
        myclass.Test += " test";
        return myclass;
    }
}

++运算符接受MyClass,返回更新后的MyClass

您的++操作符需要接受Priority对象并返回更新的Priority对象,更新的内容取决于您。