init
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.Ellenorzo.BL.VN.Helpers
|
||||
{
|
||||
public class LambdaComparer<T> : IEqualityComparer<T>
|
||||
{
|
||||
private readonly Func<T, T, bool> _lambdaComparer;
|
||||
private readonly Func<T, int> _lambdaHash;
|
||||
|
||||
public LambdaComparer(Func<T, T, bool> lambdaComparer) :
|
||||
this(lambdaComparer, o => 0)
|
||||
{
|
||||
}
|
||||
|
||||
public LambdaComparer(Func<T, T, bool> lambdaComparer, Func<T, int> lambdaHash)
|
||||
{
|
||||
_lambdaComparer = lambdaComparer ?? throw new ArgumentNullException(nameof(lambdaComparer));
|
||||
_lambdaHash = lambdaHash ?? throw new ArgumentNullException(nameof(lambdaHash));
|
||||
}
|
||||
|
||||
public bool Equals(T x, T y) => _lambdaComparer(x, y);
|
||||
|
||||
public int GetHashCode(T obj) => _lambdaHash(obj);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user