示例#1
0
        /// <summary>
        /// Determines whether the specified <see cref="System.Object"/> is equal to this instance.
        /// </summary>
        /// <param name="obj">The <see cref="System.Object"/> to compare with this instance.</param>
        /// <returns>
        ///     <c>true</c> if the specified <see cref="System.Object"/> is equal to this instance; otherwise, <c>false</c>.
        /// </returns>
        public override bool Equals(object obj)
        {
            DumbBinding other = obj as DumbBinding;

            return(other != null &&
                   ((this.SourcePropertyChangedHandle != null &&
                     PropertyChangedHandle.Equals(this.SourcePropertyChangedHandle, other.SourcePropertyChangedHandle, false)) ||
                    (this.SourceMultiPropertyChangedHandle != null &&
                     MultiPropertyChangedHandle.Equals(this.SourceMultiPropertyChangedHandle, other.SourceMultiPropertyChangedHandle, false))) &&
                   object.Equals(this.Target, other.Target));
        }
        public static bool Equals(object objA, object objB, bool includeCallback)
        {
            MultiPropertyChangedHandle handleA = objA as MultiPropertyChangedHandle;
            MultiPropertyChangedHandle handleB = objB as MultiPropertyChangedHandle;

            return((objA == null && objB == null) || (handleA != null && handleB != null && handleA.Equals(handleB, includeCallback)));
        }