C#调用带有Main参数的异步任务时出错

C#调用带有Main参数的异步任务时出错,c#,asynchronous,task,httprequest,C#,Asynchronous,Task,Httprequest,这是我的方法,一个异步HTTP POST: public async Task CreateConsentAsync(Uri HTTPaddress, cHeaders cconsHeaders, cBody ccons, HttpMethod Method) { try { HttpClient client = new HttpClient(); System.Text.UTF8Encoding utf8 = new System.Text.U

这是我的方法,一个异步HTTP POST:

public async Task CreateConsentAsync(Uri HTTPaddress, cHeaders cconsHeaders, cBody ccons, HttpMethod Method)
{
    try
    {
        HttpClient client = new HttpClient();
        System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true);

        using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, HTTPaddress))
        {
            client.BaseAddress = HTTPaddress;
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("*/*"));

            client.DefaultRequestHeaders.Add("Connection", "keep-alive");
            client.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
            client.DefaultRequestHeaders.Add("SomeHeader", cconsHeaders.SomeHeader);
            //etc..

            request.Content = new StringContent(JsonConvert.SerializeObject(ccons, Formatting.Indented), utf8, "application/json");

            using (HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false))
            {
                Int32 code = (Int32)response.StatusCode;
                Console.ReadLine();
            }
        }
    }
    catch (Exception e)
    {
        Console.WriteLine("Error in " + e.TargetSite + "\r\n" + e.Message); Console.ReadLine();
    }
}
当我尝试从Main调用它时,正确地提供所有参数,如:

CreateConsentAsync(NewConsent.BaseURL, NewConsent.Headers, NewConsent.Body, HttpMethod.Post).GetAwaiter().GetResult();
我得到一个错误:

非静态字段、方法或属性需要对象 'Program.createApprovanceAsync(Uri、cHeaders、cBody、HttpMethod)'


如果您有任何想法和帮助,我们将不胜感激。

该方法是一种实例方法,因此不是静态方法。如果要将其称为共享的错误消息,应将其标记为静态消息:

public static async Task CreateConsentAsync

这回答了你的问题吗?谢谢你#塞尔文它帮助了我们,但这也是另一个问题;成功了。然而:在另一个名称空间中,我创建了一个类,比如说ClassA,在里面我创建了blabla mynew=new blabla(我已经完成了两个项目之间的依赖关系),然后我试图找到mynew.createApprovanceAsync,并且没有出现在Intellisense中;产生错误。如果你觉得这是可以做到的,请分享一只鹬,我真的很坚持这个。。。谢谢你的更正@尼克:嗨,不客气。你能通过更新你的帖子来分享你说你有问题的代码吗?谢谢