/// <summary> /// Returns <c>true</c> if two <typeparamref name="T"/> objects have different values. /// </summary> /// <param name="left">A value of type <typeparamref name="T"/> or <c>null</c>.</param> /// <param name="right">A value of type <typeparamref name="T"/> or <c>null</c>.</param> /// <returns><c>true</c> if two <typeparamref name="T"/> objects have different values; otherwise, <c>false</c>.</returns> public static bool operator !=(EquatableBaseWithOperators <T> left, EquatableBaseWithOperators <T> right) => ComparableImplementations.ImplementOpInequality(DefaultComparer, (T)left, (T)right);
/// <summary> /// Returns <c>true</c> if two <typeparamref name="T"/> objects have different values. /// </summary> /// <param name="left">A value of type <typeparamref name="T"/> or <c>null</c>.</param> /// <param name="right">A value of type <typeparamref name="T"/> or <c>null</c>.</param> /// <returns><c>true</c> if two <typeparamref name="T"/> objects have different values; otherwise, <c>false</c>.</returns> public static bool operator !=(ComparableBaseWithOperators <T> left, ComparableBaseWithOperators <T> right) { return(ComparableImplementations.ImplementOpInequality(DefaultComparer, (T)left, (T)right)); }
/// <summary> /// Returns <c>true</c> if two <typeparamref name="T"/> objects have different values. /// </summary> /// <param name="left">A value of type <typeparamref name="T"/> or <c>null</c>.</param> /// <param name="right">A value of type <typeparamref name="T"/> or <c>null</c>.</param> /// <returns><c>true</c> if two <typeparamref name="T"/> objects have different values; otherwise, <c>false</c>.</returns> public static bool operator !=(EquatableBaseWithOperators <T> left, EquatableBaseWithOperators <T> right) { Contract.Assume(DefaultComparer != null); return(ComparableImplementations.ImplementOpInequality(DefaultComparer, (T)left, (T)right)); }