2013-05-14 54 views
1

刪除順序是有什麼它可以使用,以避免使用順序屬性在數據成員,同時從XML參數傳遞給WCF服務從數據成員

[DataMember(Name = "Name", Order = 2)] 
... 
[DataMember(Name = "ID", Order = 1)] 
... 
+0

呃...不要使用它? – 2013-05-14 09:26:04

+0

然後值爲幾個參數爲空..我希望它是獨立的任何順序 – user2380441 2013-05-14 09:28:31

回答

2

沒有沒有,如果你是使用訂單DataMemberAttribute避免方式傳遞成員的順序與串行器期望的順序不同。

的排序規則羅列如下:

http://msdn.microsoft.com/en-us/library/ms729813.aspx

數據排序的基本規則包括:

  • 如果數據合同類型是繼承層次結構的一部分,其基本類型的數據成員始終是第一個順序。
  • 接下來按順序是當前類型的數據成員沒有DataMemberAttribute屬性集的Order屬性,按 字母順序排列。
  • 接下來是具有DataMemberAttribute屬性集的Order屬性的任何數據成員。這些按訂單屬性的值排序爲 ,然後按字母順序排列,如果某個訂單值的某個成員多於 。訂單值可能會被跳過。

如果你通過不符合這些規則,那麼你會得到空值的序列化器將跳過它們的成員。我知道這並不好,但不幸的是它的工作方式。

+0

得到你,謝謝.. – user2380441 2013-05-14 10:16:03

+0

你能標記你的問題作爲回答嗎? – 2013-05-15 12:35:51