コード例 #1
0
ファイル: BaseDomainObject.cs プロジェクト: gosuto/tfs2.com
        public virtual bool HasSameDomainEqualityAs(BaseDomainObject compareTo)
        {
            var domainEqualityProperties = GetDomainEqualityProperties();

            foreach (PropertyInfo property in domainEqualityProperties)
            {
                object valueOfThisObject = property.GetValue(this, null);
                object valueToCompareTo = property.GetValue(compareTo, null);

                if (valueOfThisObject == null && valueToCompareTo == null)
                    continue;

                if ((valueOfThisObject == null ^ valueToCompareTo == null) ||
                    (!valueOfThisObject.Equals(valueToCompareTo)))
                {
                    return false;
                }
            }

            return domainEqualityProperties.Any() || base.Equals(compareTo);
        }
コード例 #2
0
        public virtual bool HasSameDomainEqualityAs(BaseDomainObject compareTo)
        {
            var domainEqualityProperties = GetDomainEqualityProperties();

            foreach (PropertyInfo property in domainEqualityProperties)
            {
                object valueOfThisObject = property.GetValue(this, null);
                object valueToCompareTo  = property.GetValue(compareTo, null);

                if (valueOfThisObject == null && valueToCompareTo == null)
                {
                    continue;
                }

                if ((valueOfThisObject == null ^ valueToCompareTo == null) ||
                    (!valueOfThisObject.Equals(valueToCompareTo)))
                {
                    return(false);
                }
            }

            return(domainEqualityProperties.Any() || base.Equals(compareTo));
        }