using System; using System.Xml; using System.Collections.Generic; using System.Collections; namespace oodb.mapping { public class ArrayMapping : ListMapping { public ArrayMapping(OODB oodb,Type type) :base(oodb,typeof(List<>).MakeGenericType(type.GetElementType())) { } public override XmlElement ToXml(XmlDocument xmlDocument, object value) { IList list = value as IList; Array array = Array.CreateInstance(ElementMapping.NativeType, list.Count); (list as IList).CopyTo(array, 0); return base.ToXml(xmlDocument,list); } public override object FromXml(XmlElement xmlValue) { IList list = base.FromXml(xmlValue) as IList; Array array = Array.CreateInstance(ElementMapping.NativeType, list.Count) as Array; list.CopyTo(array, list.Count); return array; } } }