如何在C#中为类创建自定义添加方法

The*_*lo2 0 c# function add

在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#中的等价物是什么?

Fel*_*ani 7

您可以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