十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
WCF作为一个重要的开发插件,其中有很多比较重要的功能与应用技巧,值得我们去深入的探讨。那么,我们今天将会为大家详细介绍一下有关WCF自定义集合类型的一些应用注意事项,以帮助大家的实际开发。#t#

在WCF自定义集合类型中,如果作为服务契约的一部分进行发布,必须要保证以下几点:
1.集合包含的类型必须使用[Serializable]和[DataContract]标记;
2.集合包含的类型属性必须使用 [DataMember]标记,并且,如果是属性(Property),必须要实现get和set;
3.集合类型必须使用[Serializable]和[CollectionDataContract]标记,以及[KnownType]标记指向集合包含的子类型;
4.集合类型必须实现IEnumerable< T>接口;
5.集合类型使用[DataMember]标记的IList将集合项向客户端公开.
样例如下:
- namespace Sharpnessdotnet
 - {
 - [Serializable]
 - [DataContract]
 - public class Sharpnessdotnet
 - {
 - private string name;
 - [DataMember]
 - public string Name
 - {
 - get
 - {
 - return name;
 - }
 - set
 - {
 - name = value;
 - }
 - }
 - }
 - [Serializable]
 - [CollectionDataContract]
 - [KnownType(typeof(Sharpnessdotnet))]
 - public class SharpnessdotentCollection : IEnumerable
 - {
 - [DataMember]
 - public IList
 List; - public SharpnessdotentCollection()
 - {
 - List = new List
 (); - }
 - public void Add(Sharpnessdotnet obj)
 - {
 - List.Add(obj);
 - }
 - public IEnumerator
 GetEnumerator() - {
 - return List.GetEnumerator();
 - }
 - IEnumerator IEnumerable.GetEnumerator()
 - {
 - return List.GetEnumerator();
 - }
 - }
 - }
 
WCF自定义集合类型的基本知识就为大家介绍到这里。