/// <inheritdoc /> public override void ProjectLeftToRight(object left, object right) { if (ShouldProject(left, right, out var newValue, out _)) { RightSetter.Invoke(right, newValue); } }
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); }