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();
            }
        }
    }
  • 相关阅读:
    docker入门实战3 镜像、容器、仓库
    彻底理解java回调机制
    struct和typedef struct
    Andriod广播注册接收过程简析
    Android获取其他包的Context实例
    Android中获取应用程序(包)的信息-----PackageManager的使用
    修改virtualbox虚拟硬盘容量
    Ubuntu文件系统和目录结构
    Android中Theme和Style的应用
    十步完全理解SQL(转)
  • 原文地址:https://www.cnblogs.com/guanjie20/p/2382086.html
Copyright © 2011-2022 走看看