using System; using System.Collections.Generic; using System.Runtime.InteropServices; namespace XUtliPoolLib { [StructLayout(LayoutKind.Sequential, Size = 1)] public struct XFastEnumIntEqualityComparer : IEqualityComparer where TEnum : struct { public static int ToInt(TEnum en) { return EnumInt32ToInt.Convert(en); } public bool Equals(TEnum lhs, TEnum rhs) { return XFastEnumIntEqualityComparer.ToInt(lhs) == XFastEnumIntEqualityComparer.ToInt(rhs); } public int GetHashCode(TEnum en) { return XFastEnumIntEqualityComparer.ToInt(en); } } }