столкнулся со следующей проблемой есть классы Code: public class Device { public string ConnectionString; public int Type; public virtual Boolean Connect() {return false;} } public class DeviceS { public Guid SGuid; [XmlArrayItem("Device", typeof(Device))] public ArrayList Items; } и есть 2 класса наследованные от Device Code: public class Camera : Device { public override Boolean Connect() { /*тут какой то код*/ } } public class Hub : Device { public override Boolean Connect() { /*тут какой то код*/ } } мне нужно сохранять и загружать из XMLя класс DeviceS. Делаю я это так: Code: public DeviceS Load() { FileStream fStream = null; XmlSerializer xmlFormat = new XmlSerializer(typeof(Devices)); try { fStream = new FileStream(XML_FILE_NAME, FileMode.Open, FileAccess.Read, FileShare.None); DeviceS LDeviceS = new DeviceS(); LDeviceS = (DeviceS)xmlFormat.Deserialize(fStream); fStream.Close(); return LDeviceS; } catch { return false; } } public bool Save(DeviceS LDeviceS) { XmlSerializer xmlFormat = new XmlSerializer(typeof(DeviceS)); FileStream fStream = new FileStream(XML_FILE_NAME, FileMode.Create, FileAccess.Write, FileShare.None); xmlFormat.Serialize(fStream, LDeviceS); fStream.Close(); return true; } проблема в том что DeviceS.Items должен содержать не родителя Device а потомков Camera и/или Hub. помогите реализовать
[XmlInclude(typeof(Camera))] [XmlInclude(typeof(Hub))] public class Device вот так вот заработало... + ко всему у меня олин из дочерних классов был приват, исправил на паблик и всё запахало. большое спасибо