我目前正在使用具有保存发票的方法的WSDL。我已经能够修改现有发票,但还没有想出如何保存新发票。由于数组大小是不可变的,我无法将对象添加到检索的数组中。我应该如何保存新发票,有没有办法将它们添加到阵列中? WSDL没有另一种保存个人发票的方法。
Invoices.InvoiceOrder[] po = _service.GetInvoices(_params, invoiceReturnProperties, rowReturnProperties);
//test import of new po
Invoices.InvoiceOrder newInvoice = new Invoices.InvoiceOrder();
//specify individual properties that need to be set
newInvoice.OrderId = 28;
newInvoice.CustomerName = "James Bond";
newInvoice.CustomerId = 28;
po[po.Length] = newInvoice; //not sure how to accomplish this
//save invoices
_service.SaveInvoices(po);
答案 0 :(得分:2)
为什么说数组是不可变的?第二行到最后一行是否会抛出错误?
如果它实际上是不可变的,您可以使用Array.Clone
复制现有数组并传递它。或者,如果服务仅期望将新的/编辑的发票传递给SaveInvoices
操作(这对我来说更有意义),您可以这样做:
//save invoices
_service.SaveInvoices(new [] {p});
了解Array.Clone方法: https://msdn.microsoft.com/en-us/library/system.array.clone.aspx