C#使用++;不同类中的运算符
我试图为某个东西创建一个类,我需要使用++和-,就像在int中一样。我有一个错误,它说“应该是重载二进制运算符”,但我不知道这是什么意思。这是我的密码:C#使用++;不同类中的运算符,c#,operators,C#,Operators,我试图为某个东西创建一个类,我需要使用++和-,就像在int中一样。我有一个错误,它说“应该是重载二进制运算符”,但我不知道这是什么意思。这是我的密码: public static int operator ++(TriggerMeter m, int value) { if (m != null) { int newValue = m.Triggeredness + value; m.Tri
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)
但是,似乎您想要覆盖+
操作符,这与您实现的操作相同,只是将+
替换为+
在更改对象中的值并返回该值时要小心,这可能不是一种明显的(自然的)用法,可能会导致错误