using System.Xml.Serialization; namespace ShrlAlgo.RvKits.RvIndependent.MetroGauges.LandXMLData { [XmlType] [Serializable] public abstract class ObjectWithNameSideSegment { public ObjectWithNameSideSegment() { } public ObjectWithNameSideSegment(ObjectWithNameSideSegment reference) { Name = reference.Name; Side = reference.Side; Segment = reference.Segment; } [XmlIgnore] public string NameSide => Name + " " + Side; [XmlIgnore] public string NameSideSegment => NameSide + SegmentName; [XmlIgnore] public string SegmentName { get { if (Segment == 0) { return string.Empty; } return " s" + Segment; } } [XmlAttribute("s")] public int Segment { get; set; } [XmlAttribute("side")] public Side Side { get; set; } [XmlAttribute("name")] public string Name { get; set; } } }