我有一个名为Message
重载这些运算符的类:
public static bool operator ==(Message left, Message right)
public static bool operator !=(Message left, Message right)
public static bool operator ==(Message left, string right)
public static bool operator !=(Message left, string right)
public static bool operator ==(string left, Message right)
public static bool operator !=(string left, Message right)
我希望==
and运算符继续比较and but!=
以外的类型的引用,String
Message
var message = new Message();
var isNull = message == null;
给了我这个:
以下方法或属性之间的调用不明确:'Message.operator ==(Message, Message)' 和 'Message.operator ==(Message, string)'
我知道这是因为Message
和String
都是引用类型并且它们都可以是null
,但我希望能够使用==
opreator 来检查消息是否为空。
我可以==
为空值重载吗?我尝试重载它object
并调用object.ReferenceEquals(object, object)
重载,但这没有帮助。