/// <summary> /// 指定した順序を後続の順序として組み合わせた、新しい順序を生成します。 /// </summary> /// <param name="following">後続の順序。</param> /// <returns>指定した順序を後続の順序として組み合わせた、新しい順序。</returns> /// <exception cref="System.ArgumentNullException">following が null です。</exception> public override ComplexOrder <TEntity> Then <TFollowingValue>(SimpleOrder <TEntity, TFollowingValue> following) { if (following == null) { throw new ArgumentNullException("following"); } return(new ComplexOrder <TEntity>(this, following)); }
/// <summary> /// 与后续顺序结合生成新的顺序。 /// </summary> /// <param name="following">后续顺序</param> /// <returns>返回新的顺序</returns> /// <exception cref="System.ArgumentNullException">following 为 null</exception> public override ComplexOrder <TEntity> Then <TFollowingValue>(SimpleOrder <TEntity, TFollowingValue> following) { if (following == null) { throw new ArgumentNullException("following"); } var followings = Enumerable.Concat(_followings, new[] { following }).ToArray(); return(new ComplexOrder <TEntity>(_first, followings)); }
/// <summary> /// 与后续顺序结合生成新的顺序 /// </summary> /// <param name="following">后续顺序</param> /// <returns>返回新的顺序</returns> /// <exception cref="System.ArgumentNullException">following 为 null</exception> public abstract ComplexOrder <TEntity> Then <TFollowingValue>(SimpleOrder <TEntity, TFollowingValue> following);