/// <summary>
        /// 以KeepLast策略执行重入任务,并获取此次重入任务的返回值。
        /// 此重入策略会确保执行当前队列中的最后一个任务,并对所有当前队列任务赋值该任务结果。
        /// </summary>
        /// <param name="arg">此次重入任务使用的参数。</param>
        /// <returns>重入任务本次执行的返回值。</returns>
        public override Task <TReturn> InvokeAsync(TParameter arg)
        {
            var wrapper = new TaskWrapper(() => RunCore(arg));

            _queue.Enqueue(wrapper);
            Run();
            return(wrapper.AsTask());
        }