public IAsyncResult BeginInvokeApi <TReturn>(IChinaAlibabaApi api, IChinaAlibabaApiArguments arguments, AsyncCallback callback, object userState) { AsyncResult <TReturn> result = new AsyncResult <TReturn>(callback, userState); this.PerformApiRequest <TReturn>(result, api, arguments, (error, value) => { result.MarkCompleted(error, value); }); return(result); }
private void PerformApiRequest <TReturn>(AsyncResult result, IChinaAlibabaApi api, IChinaAlibabaApiArguments args, Action <Exception, TReturn> callback) { this.PerformApiRequest(result, api, args, (error, content) => { this.ProcessReturnValue <TReturn>(error, content, callback); }); }