我有一个IEquatable<T>
方法:
public bool Equals(TravelOptions other)
{
if (other == null) return false;
return
this.OutTravelType.Equals(other.OutTravelType) & //enum
this.BackTravelType.Equals(other.BackTravelType) & //enum
this.OutTravelPointID.Equals(other.OutTravelPointID) & //int
this.BackTravelPointID.Equals(other.BackTravelPointID) & //int
this.OutTerminal.Equals(other.OutTerminal) & //string
this.BackTerminal.Equals(other.BackTerminal) & //string
this.OutTime.Equals(other.OutTime) & //string :(
this.BackTime.Equals(other.BackTime) & //string
this.Checkin.Equals(other.Checkin) & //int
this.OutFree.Equals(other.OutFree) & //bool
this.BackFree.Equals(other.BackFree); //bool
}
但我需要做的是为其中的各个位添加一些空值检查,因为目前它会抛出一个 nullreferenceexception 是否有一些巧妙的方法可以做到这一点,所以它最终不会变成一个令人讨厌的混乱?往返旅行类型是枚举,并且始终设置为先检查它们。out 和 back free 是布尔值,旅行点是整数,其余都是字符串。只是觉得如果我开始必须检查空值会变得非常混乱,除非有一些速记方法吗?
谢谢