using System; using System.Xml.Serialization; namespace SpringCombos { [Serializable, XmlRoot(ElementName = "SpringCombo"), XmlInclude(typeof(MouseCombo)), XmlInclude(typeof(KeyboardCombo)), XmlInclude(typeof(PauseCombo))] public class Combo { #region Public Enums, Properties and Fields [XmlElement(ElementName = "MouseCombo")] public MouseCombo MouseCombo { get; set; } [XmlElement(ElementName = "KeyboardCombo")] public KeyboardCombo KeyboardCombo { get; set; } [XmlElement(ElementName = "PauseCombo")] public PauseCombo PauseCombo { get; set; } [XmlIgnore] public int Index { get; set; } #endregion #region Constructors, Destructors and Finalizers public Combo(KeyboardCombo e) => KeyboardCombo = e; public Combo(MouseCombo e) => MouseCombo = e; public Combo(PauseCombo e) => PauseCombo = e; public Combo() { } #endregion } }