INNER CODE UNIT · C#
BaseEqualityComparer
BlueshiftSoftware/EntityFrameworkCore · src/Blueshift.EntityFrameworkCore.MongoDB.SampleDomain/_Comparers.cs:15
public abstract class BaseEqualityComparer<T> : EqualityComparer<T>
{
public override int GetHashCode(T obj)
=> obj?.GetHashCode() ?? throw new ArgumentNullException(nameof(obj));
public sealed override bool Equals(T item1, T item2)
=> (item1 == null && item2 == null)
|| (item1 != null && item2 != null
&& MemberwiseEquals(item1, item2));
protected abstract bool MemberwiseEquals(T item1, T item2);
}
public static class EqualityComparerExtensions
{
public static bool CompareCollections<T>(
this EqualityComparer<T> equalityComparer,
ICollection<T> collection1,