91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WCF集合契約等價是什么

發布時間:2021-12-15 09:06:27 來源:億速云 閱讀:101 作者:iii 欄目:編程語言

本篇內容介紹了“WCF集合契約等價是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在WCF中應用了CollectionDataContractAttribute屬性的集合稱之為定制數據契約集合,否則為非定制數據契約集合。不管是非定制數據契約集合還是定制數據契約集合,只要它們的數據契約名稱和循環元素的名稱都相同(如果是字典集合其Key和Value也要是相同的),我們就說它們是等價的。

由于非定制數據契約集合的數據契約以及循環元素的名稱由集合中的類型決定,所以非定制數據契約WCF集合契約等價遵守以下幾個規則WCF Data Contract之WCF集合契約等價:
◆相同類型的列表集合被認為具有相同的數據契約(協定)例如:List<int>和int[]是等價的。
◆具有相同相同鍵和值類型的所有字典集合也被視為具有相同的數據契約(協定)
◆接口和實現該接口的具體集合類的數據契約是等價的。例如IList<int>和List<int>等價。
◆非泛型集合與Object類型的泛型WCF集合契約等價等價。例如:List<Object>與ArrayList等價,ArrayList與Object[]也是等價的。

這就是為什么上面的示例中,實現IList<int>和ICollection<int>的集合類型的數據契約名稱都是ArrayOfint的原因。例如下面兩個數據契約是等價的:

[DataContract(Name="Customer")] public class Customer1  {  [DataMember] public string customerName;  [DataMember] public Collection<string> addresses;  [DataMember] public string[] telephones;  }  [DataContract(Name="Customer")] public class Customer2  {  [DataMember] public string customerName;  [DataMember] public ICollection<string> addresses;  [DataMember] public List<string> telephones;  }

注意:Collection<string>和ICollection<string>是等價的,同時string[]和List<string>也是等價的。所以,針對Customer2的定義,我們可以將實現ICollection<string>接口的任何集合類的實例賦給addresses。同樣,我們也可以利用在數據契約中定義集合接口的機制來將WCF不支持的集合類型來應用到我們的WCF應用中。也就是說我們可以將ReadOnlyCollection的實例賦給Customer2的addresses.

“WCF集合契約等價是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

wcf
AI

濮阳县| 富平县| 保康县| 比如县| 通海县| 高唐县| 合作市| 泸州市| 密山市| 浦县| 香河县| 上杭县| 无锡市| 夏津县| 隆林| 大新县| 友谊县| 彰化市| 浏阳市| 神池县| 衡东县| 宕昌县| 台南市| 运城市| 淅川县| 康定县| 仁寿县| 安丘市| 温州市| 句容市| 阿城市| 庆元县| 伊宁市| 翁源县| 大庆市| 顺平县| 平罗县| 忻城县| 扎赉特旗| 五莲县| 石泉县|