public Comparer(CompareOption[] compareOptions, Func <Type, MemberInfo, int> membersOrder = null) { Type = typeof(T); CompareOptions = compareOptions; MembersOrder = membersOrder; CompareOption.CheckCompareOptions(Type, compareOptions, membersOrder); LambdaCompare = CreateCompareMethod(); compare = LambdaCompare.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; LambdaDataComparer = CreateDataCompareMethod(); dataComparer = LambdaDataComparer.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(); }
public DataEqualityComparer(Type type, CompareOption[] compareOptions, Func <Type, MemberInfo, int> membersOrder = null) { Type = type; CompareOption.CheckCompareOptions(type, compareOptions, membersOrder); CompareOptions = compareOptions; MembersOrder = membersOrder; LambdaEquals = CreateEqualsMethod(); equals = LambdaEquals.Compile(); LambdaGetHashCode = CreateGetHashCodeMethod(); getHashCode = LambdaGetHashCode.Compile(); }