/// <summary>
        /// 获取所有暂停任务
        /// </summary>
        /// <param name="keys"></param>
        public async Task <List <DownloadStatusModel> > TellWaiting(List <Expression <Func <DownloadStatusModel, object> > > keys = null)
        {
            var strKeys = new List <string>();

            if (keys != null)
            {
                keys.ForEach(key =>
                {
                    MemberInitExpression init = key.Body as MemberInitExpression;
                    strKeys.AddRange(init.Bindings.Select(p => p.Member.Name));
                });
            }
            var res = new TellWaitingResponse(await _client.SendRequestAsync(new TellWaitingRequest
            {
                Keys = strKeys
            }));

            return(res?.Info);
        }
        /// <summary>
        /// 获取指定范围的暂停任务
        /// </summary>
        /// <param name="startIndex"></param>
        /// <param name="takeCount"></param>
        /// <param name="keys"></param>
        public async Task <List <DownloadStatusModel> > TellWaiting(int startIndex, int takeCount,
                                                                    Expression <Func <DownloadStatusModel, DownloadStatusModel> > keys = null)
        {
            var strKeys = new List <string>();

            if (keys != null)
            {
                MemberInitExpression init = keys.Body as MemberInitExpression;
                strKeys.AddRange(init.Bindings.Select(p => p.Member.Name));
            }

            var res = new TellWaitingResponse(await _client.SendRequestAsync(new TellWaitingRequest
            {
                Offset = startIndex,
                Num    = takeCount,
                Keys   = strKeys
            }));

            return(res?.Info);
        }