Kas*_*v92 4 c# operator-overloading
我试图重载 == 运算符,但出现以下错误:
预期可重载一元运算符
这是我的代码
public bool operator == (MyClass nm1)
{
return true;
}
public bool operator != (MyClass m2)
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
我遵循了msdn 说明,但仍然遇到相同的错误
当你重载时,operator ==你应该在一个static接受两个实例作为参数的方法中执行它:
public static bool operator == (MyClass leftSide, MyClass rightSide) {
return true;
}
public static bool operator != (MyClass leftSide, MyClass rightSide) {
return !(leftSide == rightSide);
}
Run Code Online (Sandbox Code Playgroud)
static 上下文使您的运算符的代码感觉更“对称”,因为执行比较的代码不属于左实例或右实例。
此外,static无法“虚拟化”操作符(您仍然可以通过调用虚拟函数在实现内部执行此操作,但是您必须显式执行此操作)。
| 归档时间: |
|
| 查看次数: |
1668 次 |
| 最近记录: |