我正在尝试拨打网络服务,然后点击路障。
这是一个片段,我在控制台应用程序中调用所述Web服务进行测试(这有效):
WSProxy.CancelOrderClient x = new CancelOrderClient();
WSProxy.OrderCancelObject y = new OrderCancelObject();
var z = new List<OrderNumberObject>();
var p = new OrderNumberObject();
p.OrderNumber = "100";
z.Add(p);
y.OrderNumberTbl = z.ToArray();
y.StoreNumber = "700";
var a = x.CancelOrder(y);
Console.WriteLine(a.ExResultMessage.Message);
Console.WriteLine(a.ExResultMessage.Code);
Console.ReadLine();
我想把它放在一个单独的静态方法中,输入对于订单号是List<string>
,对于StoreNumber
是一个字符串。
每个OrderNumberObject只有一个字符串属性,即OrderNumber ,其类型为string 。
鉴于此上下文,我不知道如何将List<string>
转换/转换为List<OrderNumberObject>
,其中OrderNumberObject
具有名为OrderNumber
的属性。
我们如何做到这一点?不幸的是,我没有自由修改我试图打电话的上述网络服务。
希望这解释了我正在尝试做的事情。谢谢。
答案 0 :(得分:2)
var SomeListOfStrings = new List<string>(); //The list of strings that you received from your service call or whatever. I just created it here, but you would have got it from somewhere...
var orderNumbers = new List<OrderNumberObject>();
foreach (var str in SomeListOfStrings)
{
//I am assuming the order number is a string property.
orderNumbers.Add(new OrderNumberObject {OrderNumber=str});
}
如果OrderNumberObject.OrderNumber是一个字符串,我不相信您需要进行任何转换,因为您正在接收字符串并将其存储为字符串。
答案 1 :(得分:2)
由于您添加了linq标记,请尝试以下内容:
ListOfStrings.Select(s => new OrderNumberObject() { OrderNumber=s}).ToList();
编辑:
(from s in ListOfStrings
select new OrderNumberObject() {OrderNumber = s}
).ToList();