Cannot serialize this List<T> extension

Posted by Jaxidian on Stack Overflow See other posts from Stack Overflow or by Jaxidian
Published on 2010-05-03T22:50:19Z Indexed on 2010/05/03 22:58 UTC
Read the original article Hit count: 198

I'm trying to push a subset of a collection of data through WCF to be consumed by WCF - think paged data. As such, I want this collection to have one page's worth of data as well as a total number of results. I figured this should be trivial by creating a custom object that extends List. However, everything I do results in my TotalNumber property coming across as 0. All of the data gets serialized/deserialized just fine but that single integer won't come across at all.

Here's my first attempt that failed:

[Serializable]
public class PartialList<T> : List<T>
{
    public PartialList()
    {

    }

    public PartialList(IEnumerable<T> collection)
        : base(collection)
    {
    }

    [DataMember]
    public int UnpartialTotalCount { get; set; }

And here's my second attempt that failed in the exact same way:

[Serializable]
public class PartialList<T> : List<T>, ISerializable
{
    public PartialList()
    {

    }

    public PartialList(IEnumerable<T> collection)
        : base(collection)
    {
    }

    [DataMember]
    public int UnpartialTotalCount { get; set; }

    protected PartialList(SerializationInfo info, StreamingContext context)
    {
        UnpartialTotalCount = info.GetInt32("UnpartialTotalCount");
    }

    public void GetObjectData(SerializationInfo info, StreamingContext context)
    {
        info.AddValue("UnpartialTotalCount", UnpartialTotalCount);
    }

}

What's the deal here??

© Stack Overflow or respective owner

Related posts about wcf

Related posts about visual-studio-2010