在python中,如果你有一个类foo,你可以为它创建一个自定义添加函数,如下所示:
class foo:
def __add__(self, other):
return stuff
Run Code Online (Sandbox Code Playgroud)
这可以让你做以下事情:
a = foo()
b = foo()
c = a + b
Run Code Online (Sandbox Code Playgroud)
C#中的等价物是什么?
您可以operator为示例实现:
public class Foo
{
public static Foo operator +(Foo f1, Foo f2)
{
var foo = // some logic to generate a result
return foo;
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以尝试使用这个运算符:
var a = new Foo() { /* properties initialization */ };
var b = new Foo() { /* properties initialization */ };
var c = a + b;
Run Code Online (Sandbox Code Playgroud)
您可以实现更多的运营商一样-,*,\,|,&,就像上面的例子.
查看更多 https://msdn.microsoft.com/en-us/library/aa288467(v=vs.71).aspx