为什么无法将List <string>从静态方法传递给非静态方法C#

时间:2017-03-08 03:13:35

标签: c# string list

我有一个像这样的静态方法:

private static void UpdateExportDate(List<string> lstWithdraw, List<string> lstUnit)
    {
        ServiceReference3.PSSWebServiceSoapClient pwssc = new ServiceReference3.PSSWebServiceSoapClient("PSSWebServiceSoap12");
        ((IContextChannel)pwssc.InnerChannel).OperationTimeout = new TimeSpan(2, 0, 0);

        pwssc.UpdateInfo(lstWithdraw, lstUnit);
    }

在另一个类中,我有一个非静态方法,如下所示:

public void UpdateInfo(List<string> lstWithdraw, List<string> lstUnit)
    {
        UvAccountConversion uac = new UvAccountConversion();           
    }

当我运行项目时,它有一个错误声明:

cannot convert from 'System.Collections.Generic.List<string>' to 'string[]'

我试图删除List(这意味着我只传递2个字符串)并且它成功了。但是,我想将记录传递为&#39; 列表&#39;。

请帮忙!

2 个答案:

答案 0 :(得分:3)

错误消息本身是&#34;无法转换为&#39; System.Collections.Generic.List&#39;到&#39;字符串[]&#39;&#34;在解析参数方面,静态方法和实例方法之间没有区别。

错误表明您需要有一个数组而不是List

列表与数组不同,但您可以在列表上调用方法来返回数组。

g8_blackAndWhite()

答案 1 :(得分:-1)

尝试List.ToArray()

pwssc.UpdateInfo(lstWithdraw.ToArray(), lstUnit.ToArray());