public DataEqualityComparer(Type type, CompareOption[] compareOptions, Func <Type, MemberInfo, int> membersOrder = null) { Type = type; CompareOption.CheckCompareOptions(type, compareOptions, membersOrder); CompareOptions = compareOptions; MembersOrder = membersOrder; equals = CreateEqualsMethod().Compile(); getHashCode = CreateGetHashCodeMethod().Compile(); }
public EqualityComparer(CompareOption[] compareOptions, Func <Type, MemberInfo, int> membersOrder = null) { CompareOption.CheckCompareOptions(typeof(T), compareOptions, membersOrder); Type = typeof(T); CompareOptions = compareOptions; MembersOrder = membersOrder; equals = CreateEquals().Compile(); getHashCode = CreateGetHashCode().Compile(); }
public Comparer(CompareOption[] compareOptions, Func<Type, MemberInfo, int> membersOrder = null) { Type = typeof(T); CompareOptions = compareOptions; MembersOrder = membersOrder; CompareOption.CheckCompareOptions(Type, compareOptions, membersOrder); compare = CreateCompareMethod().Compile(); }
public DataComparer(Type type, CompareOption[] compareOptions, Func <Type, MemberInfo, int> membersOrder = null) { Type = type; DataType = typeof(Data <>).MakeGenericType(type); CompareOption.CheckCompareOptions(type, compareOptions, membersOrder); CompareOptions = compareOptions; MembersOrder = membersOrder; compare = CreateCompareMethod().Compile(); }
public EqualityComparer(CompareOption[] compareOptions, Func <Type, MemberInfo, int> membersOrder = null) { Type = typeof(T); CompareOptions = compareOptions; CompareOption.CheckCompareOptions(Type, compareOptions, membersOrder); MembersOrder = membersOrder; LambdaEquals = CreateEquals(); equals = LambdaEquals.Compile(); LambdaGetHashCode = CreateGetHashCode(); getHashCode = LambdaGetHashCode.Compile(); }