我可能用词不当,这也许是我无法自行找到答案的原因。我的类中有+和-运算符,但我想添加一个负号运算符... 我希望能够做到这一点:
myMethod(myClass, -myClass);
如果您需要代码示例来帮助我,请让我知道,但是我认为这应该很简单... 或者说它无法实现。
当然,一元运算符-
可以重载:
public static MyClass operator -(MyClass myClass)
{
...
}
使用这些特性时要小心,因为消费者可能不了解这些运算符的语义,与方法(可以使用良好命名)不同,自定义类型上的运算符通常不是立即明显的。希望你的类表示某种类型的向量或类似物?
public static YourClass operator -(YourClass value)
{
}
new myClass(-thisInst.int1, -thisInst.int2, -thisInst.int3);
-- 在这里使用负运算符是有意义的,因为它只是翻转符号。 - Anthony NicholsVector3
定义为struct
而不是class
。您可能希望在实现时考虑这一点。 - James