在C#中为类添加一个否定运算符(?)

Ant*_*ols 9 c# operators

我可能没有在这里使用正确的词语,这可能就是我无法自己找到答案的原因.我班上有一个+& - 运算符,但我想添加一个负运算符...我基本上可以做到这一点:

myMethod(myClass, -myClass);

如果你需要代码示例来帮助我让我知道,但我认为这应该是相当紧张的前进......或者说它无法完成.

Ani*_*Ani 25

当然,一元运算-是可以超载的:

public static MyClass operator -(MyClass myClass)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

注意不要滥用这些功能,因为消费者可能不知道这些操作符的语义 - 与方法(可以很好地命名)不同,类型上的自定义操作符通常不会立即明显.希望你的班级代表某种或类似的向量?

  • 打败我吧!:) (2认同)

Imm*_*lue 5

public static YourClass operator -(YourClass value)
{
}
Run Code Online (Sandbox Code Playgroud)