色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

[原創(chuàng)]談?wù)刉CF中的Data Contract(2):WCF Data Contract對Generic的支持

通過第一部分的介紹,我們可以體會(huì)到,WCF Data ContractCLR TypeNeutral Contract之間搭建了一座橋梁,彌合了.NET世界和廠商中立世界的差異。通過WCF Data Contract我們將CLR Data Type暴露成一個(gè)廠商中立的數(shù)據(jù)結(jié)構(gòu)的描述,同樣通過WCF Data Contract我們將一個(gè)現(xiàn)有的CLR Data Type和既定的Neutral contract進(jìn)行適配。

.NET中,基于Primary Type,比如Int32String等等,他們具有一個(gè)簡單的默認(rèn)的序列化方式和結(jié)構(gòu),可以說他們不需要Data Contract。接下來我們主要討論的是一些相對比較特殊的、完全基于.NETData Type,比如GenericCollection,和Dictionary。首先,我們結(jié)合例子來談?wù)劵?/span>GenericData TypeData Contract

假設(shè)我們需要?jiǎng)?chuàng)建一個(gè)用于處理一些單據(jù)(Bill)的Service,比如如Order BillSales Bill等。一般的單據(jù)都有一個(gè)單據(jù)頭(Header)和明細(xì)(Detail)列表,為此我們創(chuàng)建了一個(gè)GenericBill。并

namespace Artech.SpecialDataContract.Contract
{
    [DataContract]
    
public class Bill<THeader, TDetail>
    
{
        [DataMember]
        
public THeader Header
        
getset; }

        [DataMember]
        
public IList<TDetail> DetailList
        
getset; }
    }


    [DataContract]
    
public class OrderHeader
    
{
        [DataMember]
        
public Guid OrderID
        
getset; }

        [DataMember]
        
public DateTime OrderDate
        
getset; }
    }


    [DataContract]
    
public class OrderDetail
    
{
        [DataMember]
        
public Guid ProductID
        
getset; }

        [DataMember]
        
public int Quantity
        
getset; }
    }


}

NET技術(shù)[原創(chuàng)]談?wù)刉CF中的Data Contract(2):WCF Data Contract對Generic的支持,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 胶州市| 潮州市| 昭通市| 石首市| 永定县| 达尔| 浠水县| 宾阳县| 株洲市| 兴国县| 淮安市| 腾冲县| 龙口市| 迁安市| 平江县| 长白| 赤壁市| 威远县| 杭锦后旗| 神农架林区| 双城市| 潢川县| 陇西县| 宁蒗| 常山县| 东山县| 灌南县| 吕梁市| 南和县| 精河县| 平塘县| 英山县| 虹口区| 余庆县| 庆元县| 澄迈县| 湾仔区| 武清区| 五莲县| 永顺县| 巴青县|