मुझे जो त्रुटि मिल रही है वह रिटर्न स्टेटमेंट की अंतिम पंक्ति पर है।

"निःसंदेह प्रकार 'System.Threading.Tasks.Task' को RestSharp.IRestResponse' में परिवर्तित नहीं कर सकता। एक स्पष्ट रूपांतरण निकलता है (क्या आप एक कलाकार को याद कर रहे हैं?)

public static async Task<IRestResponse<T>> ExecuteAsyncRequest<T>(this RestClient client, IRestRequest request) where T : class, new() //Since we used the T. We need to specify wether T is of type class or new type
     {

         var taskCompletionSource = new TaskCompletionSource<IRestResponse>();


         client.ExecuteAsync<T>(request, restResponse =>
         {
             //Verbose message of the error
             if (restResponse.ErrorException != null)
             {

                 const string message = "Error retrieving response.";
                 throw new ApplicationException(message, restResponse.ErrorException);

             }

             //Setting the result of the execution
             taskCompletionSource.SetResult(restResponse);

         });

         //return us the reuslt
         return await taskCompletionSource.Task; 
0
Johnny 21 जिंदा 2020, 20:35

1 उत्तर

सबसे बढ़िया उत्तर

मैं इसे काफी पुन: पेश नहीं कर सकता: मुझे थोड़ी अलग त्रुटि मिलती है

परोक्ष रूप से 'RestSharp.IRestResponse' प्रकार को 'RestSharp.IRestResponse' में परिवर्तित नहीं कर सकता। एक स्पष्ट रूपांतरण निकलता है (क्या आप एक कलाकार को याद कर रहे हैं?)

संपर्क

ऐसा इसलिए है क्योंकि आपकी विधि एक IRestResponse<T> लौटाती है, लेकिन आपके TaskCompletionSource में केवल एक IRestResponse होता है। आप त्रुटि को TaskCompletionSource<IRestResponse<T>> में बदलकर ठीक कर सकते हैं।

var taskCompletionSource = new TaskCompletionSource<IRestResponse<T>>();
1
canton7 21 जिंदा 2020, 20:42