public override object Clone() { Bar bar = new Bar(); if (Type != null) { bar.Type = Type.Clone(); } if (Color != null) { bar.Color = Color.Clone(); } if (EType != null) { bar.EType = EType.Clone(); } if (EColor != null) { bar.EColor = EColor.Clone(); } if (ESize != null) { bar.ESize = ESize.Clone(); } if (GroupingBy != null) { bar.GroupingBy = GroupingBy.Clone(); } if (Base != null) { bar.Base = Base.Clone(); } bar.Visible = this.Visible; bar.AssignAttributeByVariables = this.AssignAttributeByVariables; foreach (DataViewPosition pos in DataViewPositionLst) { bar.DataViewPositionLst.Add((DataViewPosition)pos.Clone()); } //bar.GetCommand = this.GetCommand; return(bar); }