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