Class ComparerBuilder
Builds comparer functions and comparers.
public static class ComparerBuilder
- Inheritance
-
ComparerBuilder
Methods
GetEqualityComparer(Type)
public static IEqualityComparer GetEqualityComparer(Type type)
Parameters
type
Type
Returns
GetEqualityComparer<T>()
Returns implementations of the IEqualityComparer<T> generic interface based on object public members equality.
public static IEqualityComparer<T> GetEqualityComparer<T>()
Returns
- IEqualityComparer<T>
Instance of IEqualityComparer<T>.
Type Parameters
T
The type of objects to compare.
GetEqualityComparer<T>(IEnumerable<T>)
Returns implementations of the IEqualityComparer<T> generic interface based on object public members equality.
public static IEqualityComparer<T> GetEqualityComparer<T>(IEnumerable<T> ignored)
Parameters
ignored
IEnumerable<T>
Returns
- IEqualityComparer<T>
Instance of IEqualityComparer<T>.
Type Parameters
T
The type of objects to compare.
GetEqualityComparer<T>(Func<MemberAccessor, bool>)
Returns implementations of the IEqualityComparer<T> generic interface based on provided object public members equality.
public static IEqualityComparer<T> GetEqualityComparer<T>(Func<MemberAccessor, bool> memberPredicate)
Parameters
memberPredicate
Func<MemberAccessor, bool>A function to filter members to compare.
Returns
- IEqualityComparer<T>
Instance of IEqualityComparer<T>.
Type Parameters
T
The type of objects to compare.
GetEqualityComparer<T>(Func<TypeAccessor<T>, IEnumerable<MemberAccessor>>)
Returns implementations of the IEqualityComparer<T> generic interface based on provided object public members equality.
public static IEqualityComparer<T> GetEqualityComparer<T>(Func<TypeAccessor<T>, IEnumerable<MemberAccessor>> membersToCompare)
Parameters
membersToCompare
Func<TypeAccessor<T>, IEnumerable<MemberAccessor>>A function that returns members to compare.
Returns
- IEqualityComparer<T>
Instance of IEqualityComparer<T>.
Type Parameters
T
The type of objects to compare.
GetEqualityComparer<T>(params Expression<Func<T, object?>>[])
Returns implementations of the IEqualityComparer<T> generic interface based on provided object public members equality.
public static IEqualityComparer<T> GetEqualityComparer<T>(params Expression<Func<T, object?>>[] membersToCompare)
Parameters
membersToCompare
Expression<Func<T, object>>[]Members to compare.
Returns
- IEqualityComparer<T>
Instance of IEqualityComparer<T>.
Type Parameters
T
The type of objects to compare.
GetEqualsFunc<T>()
Returns GetEqualsFunc function for type T to compare.
public static Func<T, T, bool> GetEqualsFunc<T>()
Returns
Type Parameters
T
The type of objects to compare.
GetEqualsFunc<T>(IEnumerable<MemberAccessor>)
Returns GetEqualsFunc function for provided members for type T to compare.
public static Func<T, T, bool> GetEqualsFunc<T>(IEnumerable<MemberAccessor> members)
Parameters
members
IEnumerable<MemberAccessor>Members to compare.
Returns
Type Parameters
T
The type of objects to compare.
GetEqualsFunc<T>(params Expression<Func<T, object?>>[])
Returns GetEqualsFunc function for provided members for type T to compare.
public static Func<T, T, bool> GetEqualsFunc<T>(params Expression<Func<T, object?>>[] members)
Parameters
members
Expression<Func<T, object>>[]Members to compare.
Returns
Type Parameters
T
The type of objects to compare.
GetGetHashCodeFunc<T>()
Returns GetHashCode function for type T to compare.
public static Func<T, int> GetGetHashCodeFunc<T>()
Returns
Type Parameters
T
The type of objects to compare.
GetGetHashCodeFunc<T>(IEnumerable<MemberAccessor>)
Returns GetHashCode function for provided members for type T to compare.
public static Func<T, int> GetGetHashCodeFunc<T>(IEnumerable<MemberAccessor> members)
Parameters
members
IEnumerable<MemberAccessor>Members to compare.
Returns
Type Parameters
T
The type of objects to compare.
GetGetHashCodeFunc<T>(params Expression<Func<T, object?>>[])
Returns GetHashCode function for provided members for type T to compare.
public static Func<T, int> GetGetHashCodeFunc<T>(params Expression<Func<T, object?>>[] members)
Parameters
members
Expression<Func<T, object>>[]Members to compare.
Returns
Type Parameters
T
The type of objects to compare.