public override bool Equals(BaseEnum0 other) { if (!IsSameType(other)) { return(false); } var o = (BaseEnum <T, T2>)other; return(EqualityComparer <T> .Default.Equals(Value, o.Value) && EqualityComparer <T2> .Default.Equals(Value2, o.Value2)); }
public override int CompareTo(BaseEnum0 other) { if (!IsSameType(other)) { return(1); } var o = (BaseEnum <T, T2>)other; var c = Comparer <T> .Default.Compare(Value, o.Value); if (c != 0) { return(c); } return(Comparer <T2> .Default.Compare(Value2, o.Value2)); }
public override int CompareTo(BaseEnum0 other) => IsSameType(other) ? Comparer <T> .Default.Compare(Value, ((BaseEnum <T>)other).Value) : 1;
public override bool Equals(BaseEnum0 other) => ReferenceEquals(this, other) || (IsSameType(other) && EqualityComparer <T> .Default.Equals(((BaseEnum <T>)other).Value, Value));