The return type of an async method must be void, Task or Task in C#

前端 未结 2 1599
逝去的感伤
逝去的感伤 2021-01-26 02:57

I have the following method and getting the following error. I wonder how could I able to overcome on this issue.

The return type of an async method must

相关标签:
2条回答
  • 2021-01-26 03:23

    The rule is simple: if your "regular" synchronous method would return T, your async method must return Task<T>:

    private static async Task<T> GoRequest<T>(string url, Dictionary<string, object> parameters, HttpMethod method,string body = "")
            where T : class
    

    You don't need to change anything else: when your async code returns a T, the compiler makes sure that the result is actually a Task<T>.

    Note: Since your async method has no awaits in it, you might as well change it to a "regular", synchronous, method.

    0 讨论(0)
  • 2021-01-26 03:28

    You need to wrap your return type in a Task.

    private static async Task<T> GoRequest<T>(string url, Dictionary<string, object> parameters, HttpMethod method, string body = "")
        where T : object
    
    0 讨论(0)
提交回复
热议问题