我正在用自己的类在c#中创建一个库dll.但是,对于算术运算(+, - ,*,/,...),我创建了类似.Add(c1,c2)的方法,其中c1和c2是我的类的对象.
这种方法很棒,但我更愿意说:c3 = c1 + c2; 因为我已经为我的类编写了我的Add函数,Multiply函数,Divide函数等,我想定义:
c1 = c2 + c3与:c1 = MyClass.Add(c2,c3);
如果可能的话,我会重用我的代码.我确信在网络上有关于所有这些的文档和信息,但我无法找到它,我搜索的任何内容,谷歌似乎都误解了我的问题.
如何为类的对象定义基本算术运算?
您正在寻找运算符重载.您需要重载+运算符来告诉编译器如何在两个对象之间执行添加.然后您将能够添加两个对象,例如添加两个整数.
以下是+从msdn重载运算符的示例
public static Complex operator +(Complex c1, Complex c2)
{
return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}
Run Code Online (Sandbox Code Playgroud)