[英]Overloading >= operator
我需要重载运算符>=
。 如果条件为true,则运算符返回true
,否则返回false
。 如果至少一个对象为null
,则引发异常( ArgumentException
)。 我试过了 怎么了?
public static bool operator false(Staff inputPerson)
{
if ((inputPerson.salary) <= 15000)
{
return true;
}
else if ((inputPerson.salary) is null)
{
throw new ArgumentOutOfRangeException("This person does not have a job");
}
return false;
}
您需要执行类似public static bool operator <= (Rational rational1, Rational rational2)
重载时,还需要确保所有相关的运算符也重载。 例如<,> <=,> =等,以及相等运算符和方法。
您需要传入两个要比较的对象,因为该方法是静态的,而不是实例方法。
尝试这个:
public static bool operator >=(Staff p1, Staff p2) {
if (p1 is null || p2 is null) {
throw new ArgumentOutOfRangeException("This person does not have a job");
}
return p1.salary >= p2.salary;
}
来源: http : //msdn.microsoft.com/en-us/library/aa288467%28v=vs.71%29.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.