• 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();
            }
        }
    }
  • 相关阅读:
    看着四年前的代码,那时奋斗的模样,百感滋味
    操作系统中进程调度策略有哪几种?
    Linux操作系统及调用接口
    wpf 图像浏览(平移,缩放)
    C# double小数点的取舍
    C# 读写16位tif图片灰度数据
    WPF Slider滑块的使用
    WPF使用MVVMLight的ViewModel 访问控件的属性方法事件以及多页面传递信息
    苹果手机小米手环5收不到微信QQ消息提醒的解决办法
    AD覆铜设置规则
  • 原文地址:https://www.cnblogs.com/guanjie20/p/2382086.html
Copyright © 2020-2023  润新知