我想知道是否可以修改在检查时返回的布尔值,如果对象的实例为空,例如(我知道这是错误的和不完整的,只是想给你一个参考):
主要
SuperObject obj = new SuperObject();
if (obj == null) Console.WriteLine("It is null lol!");
超对象:
public bool destroyed = false;
public static bool operator ==(SuperObject A, object B)
{
if (A != null && B == null && destroyed == true)
return true;
}
因此,如果检查表达式(A == null)并且A为非null但是A.destroyed为TRUE,则它将返回(A == null)为TRUE。
基本上我希望(A == null)在以下情况下为TRUE: A实际上是空的OR A.destroyed = null;其他比较的默认值。
答案 0 :(得分:4)
我建议改为:
public static bool IsDestroyed(SuperObject a) {
return (a == null || a.destroyed);
}
对新开发者来说,你的方式会非常混乱。