Class DynamicEqualityComparer
Provides a factory based way to create and wrap an System.Collections.Generic.IEqualityComparer<T> implementation.
Inheritance
Namespace: Cuemon.Collections.Generic
Assembly: Cuemon.Core.dll
Syntax
public static class DynamicEqualityComparer
Methods
| Improve this DocCreate<T>(Func<T, Int32>, Func<T, T, Boolean>)
Creates a dynamic instance of an System.Collections.Generic.IEqualityComparer<T> implementation wrapping System.Collections.Generic.IEqualityComparer<T>.GetHashCode(T) through hashCalculator and System.Collections.Generic.IEqualityComparer<T>.Equals(T, T). through equalityComparer.
Declaration
public static IEqualityComparer<T> Create<T>(Func<T, int> hashCalculator, Func<T, T, bool> equalityComparer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Func<T, System.Int32> | hashCalculator | The function delegate that calculates a hash code of the specified object and is invoked first. |
| System.Func<T, T, System.Boolean> | equalityComparer | The function delegate that determines whether the specified objects are equal. This delegate is invoked second if qualified. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEqualityComparer<T> | A dynamic instance of System.Collections.Generic.IEqualityComparer<T> for type |
Type Parameters
| Name | Description |
|---|---|
| T | The type of objects to compare. |
Remarks
The function delegate, hashCalculator (System.Collections.Generic.IEqualityComparer<T>.GetHashCode(T)), is evaluated with a conditional-AND before the second function delegate, equalityComparer (System.Collections.Generic.IEqualityComparer<T>.Equals(T, T)), is ivoked.