C#从同一解决方案中的另一个项目调用公共静态任务

C#从同一解决方案中的另一个项目调用公共静态任务,c#,asynchronous,call,C#,Asynchronous,Call,我的解决方案的一个项目中包含以下代码: 这是我的程序和我的方法,一个异步HTTP POST: public class Program { private static readonly NLog.Logger _log_ = NLog.LogManager.GetCurrentClassLogger(); static void Main(string[] args) { //... initializing MyThing with properti

我的解决方案的一个项目中包含以下代码:

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

public class Program
{
    private static readonly NLog.Logger _log_ = NLog.LogManager.GetCurrentClassLogger();

    static void Main(string[] args)
    {
        //... initializing MyThing with properties and values for the method arguments, and then I call the method
        //and it works.

        DoHttpPostAsync(MyThing.BaseURL, MyThing.Headers, MyThing.Body, HttpMethod.Post).GetAwaiter().GetResult();

    }

        public async static Task DoHttpPostAsync(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");
                    //....
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e.TargetSite + "\r\n" + e.Message); Console.ReadLine();
            }
        }
    }
}
从另一个项目中,我想把这个任务称为。虽然我可以在我的第一个项目中调用它,但它不会显示在另一个项目中(依赖项正在工作)。我确实有“using..”,我确实看到了所有属性和赋值等,当我尝试调用该方法时,它根本不存在(在intellisense下拉列表中。我如何从我的其他项目调用该方法? 谢谢你的帮助

注: 这是“其他”项目,调用代码

using psd2c = <the initial project name>;
//...

public class Testing
{
    public void ACreateSome()
    {
        psd2c.PCns PDS2ewC = new psd2c.PCns();

        PDS2ewC.BaseURL = new System.Uri("http://192.xxx.yyy.zzz:8678/some/path/here/");

        PDS2ewC.Body.access.AllPd2 = "allAccounts";
        PDS2ewC.Body.access.AvailableAccounts = "YES";

        PDS2ewC.Body.CombinedServiceIndicator = false;
        PDS2ewC.Body.FrequencyPerDay = 10;
        PDS2ewC.Body.ValidUntil = "2020-12-31";

        PDS2ewC.Headers.CorrID = "5D1D38...";
        PDS2ewC.Headers.RequestID = "53JD98XD-8...";
        PDS2ewC.Headers.CToken = "abc... ...xyz";

        PDS2ewC.DoHttpPostAsync(... ...etc);    //the async in the other proj: Not recognised at all...
    }
}
使用psd2c=;
//...
公共类测试
{
公共空间
{
psd2c.PCns PDS2ewC=新的psd2c.PCns();
PDS2ewC.BaseURL=新系统.Uri(“http://192.xxx.yyy.zzz:8678/some/path/here/");
PDS2ewC.Body.access.AllPd2=“allAccounts”;
PDS2ewC.Body.access.AvailableAccounts=“是”;
PDS2ewC.Body.CombinedServiceIndicator=false;
PDS2ewC.Body.FrequencyPerDay=10;
PDS2ewC.Body.ValidUntil=“2020-12-31”;
PDS2ewC.Headers.CorrID=“5D1D38…”;
PDS2ewC.Headers.RequestID=“53JD98XD-8…”;
PDS2ewC.Headers.CToken=“abc……xyz”;
PDS2ewC.DoHttpPostAsync(……etc);//另一个项目中的异步:根本无法识别。。。
}
}

它不是静态的吗?作为旁白,我强烈建议您开始遵循.NET命名约定-参数名为
httpAddress
method
,而不是
httpAddress
method
,类名没有前缀
c
。@Jonsket:很好,我会尽快听从您的建议.至于这个问题,虽然是公共静态的,但我在另一个项目中做了一个公共类ABC,在其中我有一个方法,比如说public void Something(),在那里我实例化并添加参数。当我试图调用此任务时,根本不存在…@Fildor:谢谢你的评论和链接-我是新手,所以你提供的链接有大量有用的信息,我需要学习。谢谢!