Bon*_*nzo 3 c# oop operator-overloading
我有一个C#脚本,需要在列表中添加或删除项目.我认为使用+ =和 - =运算符会更好.
在C#中,操作符由以下内容完成:
public Foo operator +(Foo A, Foo B){
//Some adding code;
return C;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试时,我只收到语法错误:
public SpriteValues operator +=(SpriteValues A){
//Add A to this
return this;
}
Run Code Online (Sandbox Code Playgroud)
我知道在python中它将使用:
def __iadd__(self, A):
#Add A to this
return self
Run Code Online (Sandbox Code Playgroud)
那么我如何在C#中做到这一点?
小智 6
从这里你不能直接重载+ =但请注意注释:
Assignment operators cannot be overloaded, but +=, for example, is evaluated using +, which can be overloaded
Run Code Online (Sandbox Code Playgroud)
所以如果你只是重载+应该没问题的运算符