成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WCF非定制數據契約集合概念解析

開發 開發工具
我們在這篇文章中將會根據一些具體示例來為大家簡單講解一下關于WCF非定制數據契約集合的一些概念,方便大家理解。

微軟公司作為開發領域中的領頭羊,它推出的產品往往能為開發領域帶來新的血液。比如今天為大家介紹的WCF,就是一個功能強大的開發插件。在這里我們先來了解一下其中WCF非定制數據契約集合的相關概念。#t#

在WCF中應用了CollectionDataContractAttribute屬性的集合稱之為定制數據契約集合,否則為WCF非定制數據契約集合。不管是非定制數據契約集合還是定制數據契約集合,只要它們的數據契約名稱和循環元素的名稱都相同(如果是字典集合其Key和Value也要是相同的),我們就說它們是等價的。由于非定制數據契約集合的數據契約以及循環元素的名稱由集合中的類型決定,所以WCF非定制數據契約集合的數據契約等價遵守以下幾個規則(關于數據契約等價的其他詳細信息請參見我以前的文章:WCF Data Contract之契約等價):

相同類型的列表集合被認為具有相同的數據契約(協定)例如:List< int>和int[]是等價的。

具有相同相同鍵和值類型的所有字典集合也被視為具有相同的數據契約(協定)

接口和實現該接口的具體集合類的數據契約是等價的。例如IList< int>和List< int>等價。

非泛型集合與Object類型的泛型集合的數據契約等價。例如:List< Object>與ArrayList等價,ArrayList與Object[]也是等價的。

 

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

 

  1. [DataContract(Name="Customer")] public class Customer1  
  2. {  
  3. [DataMember] public string customerName;  
  4. [DataMember] public Collection< string> addresses;  
  5. [DataMember] public string[] telephones;  
  6. }  
  7. [DataContract(Name="Customer")] public class Customer2  
  8. {  
  9. [DataMember] public string customerName;  
  10. [DataMember] public ICollection< string> addresses;  
  11. [DataMember] public List< string> telephones;  

 

注意:Collection< string>和ICollection< string>是等價的,同時string[]和List< string>也是等價的。

 

所以,針對Customer2的定義,我們可以將實現ICollection< string>接口的任何集合類的實例賦給addresses。同樣,我們也可以利用在數據契約中定義集合接口的機制來將WCF不支持的集合類型(如:ReadOnlyCollection,具體見本文中WCF中對集合類型的要求限制一節)來應用到我們的WCF應用中。也就是說我們可以將ReadOnlyCollection的實例賦給Customer2的addresses.

以上就是對WCF非定制數據契約集合的一些簡單介紹。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-02-24 17:36:33

WCF集合數據契約

2009-11-09 14:15:17

WCF集合類型

2010-02-22 15:27:05

WCF數據契約

2009-11-09 09:23:10

WCF數據契約

2009-11-09 14:46:09

WCF集合契約等價

2010-02-24 16:58:14

WCF Session

2010-02-22 13:56:35

WCF服務契約

2010-02-23 13:46:37

WCF數據契約

2009-11-05 16:27:51

WCF數據契約

2009-12-21 15:33:07

WCF集合元素

2009-12-22 11:29:27

WCF自定義集合類型

2010-02-23 17:44:22

WCF數據契約

2010-03-01 18:11:40

WCF數據契約變更

2009-11-06 15:02:47

WCF契約查詢

2009-12-22 09:11:31

WCF雙向通信

2010-03-01 16:04:31

WCF服務契約

2012-04-23 15:49:04

2009-12-21 14:05:18

WCF契約

2010-03-01 16:41:04

WCF數據表

2010-03-01 15:12:53

WCF回調契約
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩国理论电影在线 | 欧美成人a∨高清免费观看 91伊人 | 二区av| 搞黄视频免费看 | 国产成人精品午夜 | 欧美激情久久久 | 日韩欧美一区二区三区免费观看 | 伊色综合久久之综合久久 | 91视在线国内在线播放酒店 | 在线免费观看视频你懂的 | 黑人久久| 欧美一区二区三区在线观看视频 | 天天干在线播放 | 日韩一区二区成人 | 日本成人中文字幕在线观看 | av激情影院 | 一级视频黄色 | 久久久亚洲 | 91电影在线播放 | 久久国产视频网 | 欧美精品一级 | 欧美激情一区二区三区 | 久久小视频 | 国产精品久久久久久久久久三级 | 久久久精品一区 | 二区高清 | 日韩在线| 欧美综合久久 | 中文字幕一区二区三区四区不卡 | 久久亚洲欧美日韩精品专区 | 日韩av在线一区 | 成人久久久 | 国产这里只有精品 | 亚洲乱码一区二区 | 国产a区 | 伊人久操 | 亚洲一区二区视频在线播放 | 秋霞精品 | 黑人中文字幕一区二区三区 | 成人免费淫片aa视频免费 | 欧美一区二区久久 |