zoukankan      html  css  js  c++  java
  • WCF中的自定义集合类型传输

    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<Sharpnessdotnet>
        {
            [DataMember]
            public IList<Sharpnessdotnet> List;
            public SharpnessdotentCollection()
            {
                List = new List<Sharpnessdotnet>();
            }
            public void Add(Sharpnessdotnet obj)
            {
                List.Add(obj);
            }
            public IEnumerator<Sharpnessdotnet> GetEnumerator()
            {
                return List.GetEnumerator();
            }

            IEnumerator IEnumerable.GetEnumerator()
            {
                return List.GetEnumerator();
            }
        }
    }
  • 相关阅读:
    剑指offer之第一个只出现一次的字符
    剑指offer之求1+2+...n
    剑指offer求两个整数之和(要求在函数体内不得使用+、-、*、/四则运算符号)
    剑指offer之从上往下打印二叉树
    剑指offer之栈的压入、弹出序列(利用辅助栈)
    58笔试-忘记题目
    联通软研院2020年球季校招笔试第三题 20190916
    简单的计算小技巧
    前端访问不到本地图片,IDEA设置Tomcat虚拟路径
    求最大子列和问题
  • 原文地址:https://www.cnblogs.com/guanjie20/p/2382086.html
Copyright © 2011-2022 走看看