WCF DataContracts:服务器端的IList和客户端的ObservableCollection

时间:2016-09-25 15:57:08

标签: c# wpf wcf

我的数据合同有两套:一个用于服务器,另一个用于客户端。

我使用t4模板生成客户端数据交换。

是否可以在服务器端使用IList并将其映射到客户端的ObservableCollection?

原因是在客户端我使用WPF和ObservableCollection就是我需要的。

问题是:列表< => ObservableCollection 映射会导致问题吗?

服务器:

[DataContract(Namespace="http://mynamespace.com/myproduct", Name="MyContract")]
public class MyContract(){

  [DataMember]
  string Name {get;set;}

  [DataMember]
  List<string> MyList {get;set;}

}

客户

[DataContract(Namespace="http://mynamespace.com/myproduct", Name="MyContract")]
public partial class MyContract() : INotifyPropertyChanged{

  string _name;

  [DataMember]
  string Name {
    get {return _name;} 
    set { 
      if (Equals(value, _name)) return;
      _name = value;
      OnPropertyChanged();
    }
  }

  [DataMember]
  ObservableCollection<string> MyList {get;set;}

}

如果它没有开箱即用,我该如何实现这种映射?

0 个答案:

没有答案