public override bool Equals(EnumRange <T> x, EnumRange <T> y) { if (ReferenceEquals(x, y)) { return(true); } if (x == null || y == null) { return(false); } return(EqualityComparer <T> .Default.Equals(x.Minimum, y.Minimum) && EqualityComparer <T> .Default.Equals(x.Maximum, y.Maximum)); }
public override int Compare(EnumRange <T> x, EnumRange <T> y) { if (ReferenceEquals(x, y)) { return(0); } if (x == null) { return(-1); } if (y == null) { return(1); } int n = Comparer <T> .Default.Compare(x.Minimum, y.Minimum); return(n != 0 ? n : Comparer <T> .Default.Compare(x.Maximum, y.Maximum)); }
public override int GetHashCode(EnumRange <T> obj) { return(EqualityComparer <T> .Default.GetHashCode(obj.Minimum) ^ EqualityComparer <T> .Default.GetHashCode(obj.Maximum)); }
public virtual int CompareTo(EnumRange <T> other) { return(EnumRangeComparer <T> .Default.Compare(this, other)); }
public virtual bool Equals(EnumRange <T> other) { return(EnumRangeComparer <T> .Default.Equals(this, other)); }