Пример #1
0
        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);
     }
 }
Пример #3
0
 /// <summary>
 /// Project the right object to the left
 /// </summary>
 public virtual void ProjectRightToLeft(object left, object right)
 {
     LeftSetter.Invoke(left, RightGetter.Invoke(right));
 }