【发布时间】:2017-11-29 06:29:34
【问题描述】:
我创建了一个 WCF 服务并公开了一个接受 List 作为参数的函数。
public bool Execute(string databaseServer, string database, string ClientName, string ERAPayerID, string PlanPriority, List<string> AdjCode, List<string> RemarkCode, List<string> CPT, string Modifier, string renderingProviderNPI)
当我调用这个函数时,它要求我提供 string[] 而不是 列表
WriteOffServiceClient client = new WriteOffServiceClient();
bool resutl = client.Execute("server", "database", practiseIdentifier, "", ERAPayerId, pPriority, new List<string>, new List<string>, new List<string>, "", "");
它给了我这个无效参数的错误。当我用字符串调用它时,它接受它。
WriteOffServiceClient client = new WriteOffServiceClient();
bool resutl = client.Execute("server", "database", practiseIdentifier, "", ERAPayerId, pPriority, new string[5], new string[5], new string[5], "", "");
如果我只想接受列表,我该怎么办?
【问题讨论】:
-
你为什么要接受一个列表呢?超过 90% 的情况您只需要在参数上执行
foreach,因此您只需要IEnumerable<T>。 -
因为我在服务端有一些基于 .isGenericType==true 或 false 决定的逻辑。
-
List<T>并不比IEnumerable<T>更通用...