将条件参数传递给使用Action的Method

时间:2012-04-08 23:40:38

标签: c# delegates

我在Silverlight 4.0项目中使用MVVM模式。该项目从WCF服务获取数据。

以下是获取送货方式集合的示例:

接口

void GetShippingMethods(Action<ObservableCollection<ShipVia>, Exception> completed);

ServiceAgent:

 public void GetShippingMethods(Action<ObservableCollection<ShipVia>, Exception> completed)
    {
      InvoiceServiceClient client = new InvoiceServiceClient();
      client.GetShippingMethodsCompleted += (s, ea) =>
      {
        if (ea.Error != null)
        {
          completed(null, ea.Error);
        }
        else
        {
          completed(ea.Result, null);
        }
      };

      client.GetShippingMethodsAsync();

      client.CloseAsync();

}

ea.Result将从服务中获取运输方法列表。

我的问题是,当我想获取发票项目列表时,我需要传入InvoiceID,以便返回的结果只会为我提供特定发票的发票项目集合。

有没有办法传入可以传递给我的WCF服务的输入参数?

更新: 事实证明,这非常简单: 我需要做的就是添加条件参数

void GetShippingMethods(Action<ObservableCollection<ShipVia>, Exception> completed, int MethodID);

0 个答案:

没有答案