Пример #1
0
        private bool ObjectEquals(Type propertyType, object value1, object value2, RefrencePropertyHandling handling)
        {
            switch (handling)
            {
            case RefrencePropertyHandling.EqualCompare:
                var refrenceEquals = NullReferenceEquals(value1, value2, out var containsNull);
                return(containsNull || refrenceEquals ? refrenceEquals : value1.Equals(value2));

            case RefrencePropertyHandling.PropertyCompare:
                return(PropertyEquals(propertyType, value1, value2));

            default:
                return(true);
            }
        }
Пример #2
0
        private bool ObjectEquals(Type propertyType, object value1, object value2, RefrencePropertyHandling handling)
        {
            switch (handling)
            {
            case Schubert.RefrencePropertyHandling.EqualCompare:
                bool containsNull   = false;
                bool refrenceEquals = PropertiesComparer.NullReferenceEquals(value1, value2, out containsNull);
                return(containsNull || refrenceEquals ? refrenceEquals : value1.Equals(value2));

            case Schubert.RefrencePropertyHandling.PropertyCompare:
                return(this.PropertyEquals(propertyType, value1, value2));

            default:
                return(true);
            }
        }