/// <summary> /// Инициализирует экземпляр /// </summary> /// <param name="propertyProvider">Используется для получения свойств сущностей, участвующих в сравнении</param> /// <param name="equalityComparers">Опциональные пользовательские IEqualityComparer<T> для нестандартного поведения при сравнения полей сущностей</param> public EqualityComparerFactory(IObjectPropertyProvider propertyProvider, params object[] equalityComparers) { _propertyProvider = propertyProvider; _equalityComparers = CreateComparersDictionary(equalityComparers ?? Array.Empty <object>()); _identityComparerCache = new Dictionary <Type, object>(); _completeComparerCache = new Dictionary <Type, object>(); }
public EqualityComparerFactory(IObjectPropertyProvider propertyProvider) { _propertyProvider = propertyProvider; _identityComparerCache = new Dictionary <Type, object>(); _completeComparerCache = new Dictionary <Type, object>(); }
public EqualityComparerFactory(IObjectPropertyProvider propertyProvider) : this(propertyProvider, null) { }