Serialize包含多个列表的类并实现IList

时间:2017-03-23 15:39:52

标签: c# json.net

我正在尝试序列化实现IList接口的C#类。此类维护两个列表,例如list1list2。我在list1上有一个枚举器,以便其他人可以使用此类的对象枚举list1而不关心list2。这是一个例子:

    [System.Runtime.Serialization.DataContract]
    public class TestClass : IList
    {

        [System.ComponentModel.Browsable(false)]
        //[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Runtime.Serialization.DataMember(Name = "dndil1")]
        public List<CustomVO> List1 { get; set; }

        [System.ComponentModel.Browsable(false)]
        //[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Runtime.Serialization.DataMember(Name = "dndil2")]
        public List<CustomVO> List2 { get; set; }

        public IEnumerator GetEnumerator()
        {
            return List1.GetEnumerator();
        }

        // Other methods from IList interface
    }

问题在于,当我尝试将此类转换为json时,序列化程序忽略List2并仅序列化List1。然后我检查了GetEnumerator是否是这个问题的原因并发现它确实是。

我希望两个列表都被序列化。我不想删除枚举器。怎么解决这个问题?

0 个答案:

没有答案