我有以下代码:
我有以下代码:
public class Foo
{
public static bool operator<(Foo l, Foo f)
{
Console.WriteLine("Foo!");
return false;
}
//public static bool operator>(Foo l, Foo f)
//{
// return f < l;
//}
}
编译器报错信息如下:
运算符“Program.Foo.operator <(Program.Foo, Program.Foo)”需要定义匹配的运算符“>”
这对我来说很奇怪。为什么我要重载 operator>
运算符呢?
a < b
和b > a
结果不同,那肯定会让我感到惊讶。 - Charles Mager<
运算符不表示“小于”,那么你可能不应该使用它,而应该使用一个方法代替。运算符应该具有明确的含义。 - Dennis_E