public override int GetHashCode() { var hashCode = 0; unchecked { if (LeftContext != null) { hashCode = (23 * hashCode) + LeftContext.GetHashCode(); } if (LeftValue != null) { hashCode = (23 * hashCode) + LeftValue.GetHashCode(); } if (LeftSetter != null) { hashCode = (23 * hashCode) + LeftSetter.GetHashCode(); } if (RightValue != null) { hashCode = (23 * hashCode) + RightValue.GetHashCode(); } if (RightSetter != null) { hashCode = (23 * hashCode) + RightSetter.GetHashCode(); } if (RightContext != null) { hashCode = (23 * hashCode) + RightContext.GetHashCode(); } } return(hashCode); }
/// <inheritdoc /> public override void ProjectRightToLeft(object left, object right) { if (ShouldProject(left, right, out _, out var rightValue)) { LeftSetter.Invoke(left, rightValue); } }
/// <summary> /// Project the right object to the left /// </summary> public virtual void ProjectRightToLeft(object left, object right) { LeftSetter.Invoke(left, RightGetter.Invoke(right)); }