/// <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))); }