コード例 #1
0
        /// <inheritdoc/>
        public override ValueTask <Page> GetPageAsync(PagedViewBase view)
        {
            var offset    = view.CurrentPageIndex * ItemsPerPage;
            var remainder = Array.Length - offset;
            var segment   = new ArraySegment <T>(Array, offset, ItemsPerPage > Array.Length
                ? Array.Length
                : ItemsPerPage > remainder
                    ? remainder
                    : ItemsPerPage);
            var page = Formatter(view, segment);

            return(new(page));
        }
コード例 #2
0
        /// <inheritdoc/>
        public override ValueTask <Page> GetPageAsync(PagedViewBase view)
        {
            var page = Pages.ElementAtOrDefault(view.CurrentPageIndex);

            return(new(page));
        }
コード例 #3
0
 /// <summary>
 ///     Gets a page for the paged menu's current state.
 /// </summary>
 /// <param name="view"> The view to get the page for. </param>
 /// <returns>
 ///     A <see cref="ValueTask{TResult}"/> with a page result representing the work.
 /// </returns>
 public abstract ValueTask <Page> GetPageAsync(PagedViewBase view);