public void GetObjectData(object obj, SerializationInfo info, StreamingContext context) { IList list = (IList)obj; info.AddValue("_size", list.Count); info.AddValue("_items", ListSerializationSurrogate.ArrayFromGenericList(list)); info.AddValue("_version", 0); }