iotgateway/WalkingTec.Mvvm/WalkingTec.Mvvm.Core/Support/CommonEqualityComparer.cs
2021-12-14 14:10:44 +08:00

27 lines
633 B
C#

using System;
using System.Collections.Generic;
using System.Text;
namespace WalkingTec.Mvvm.Core
{
public class CommonEqualityComparer<T, V> : IEqualityComparer<T>
{
private Func<T, V> keySelector;
public CommonEqualityComparer(Func<T, V> keySelector)
{
this.keySelector = keySelector;
}
public bool Equals(T x, T y)
{
return EqualityComparer<V>.Default.Equals(keySelector(x), keySelector(y));
}
public int GetHashCode(T obj)
{
return EqualityComparer<V>.Default.GetHashCode(keySelector(obj));
}
}
}