Table of Contents

Class ComparerBuilder

Namespace
LinqToDB.Tools.Comparers
Assembly
linq2db.Tools.dll

Builds comparer functions and comparers.

public static class ComparerBuilder
Inheritance
ComparerBuilder

Methods

GetEqualityComparer(Type)

public static IEqualityComparer GetEqualityComparer(Type type)

Parameters

type Type

Returns

IEqualityComparer

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

Func<T, T, bool>

GetEqualsFunc function.

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

Func<T, T, bool>

GetEqualsFunc function.

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

Func<T, T, bool>

GetEqualsFunc function.

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

Func<T, int>

GetHashCode function.

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

Func<T, int>

GetHashCode function.

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

Func<T, int>

GetHashCode function.

Type Parameters

T

The type of objects to compare.