/// <summary> /// Combines this instance with reference parameter. /// </summary> /// <param name="reference">The reference.</param> public virtual void Combine(XlsxStyleBorders reference) { if (reference == null) { return; } var hasElements = this.Any(); if (!hasElements) { foreach (var referenceSection in reference) { var sheet = referenceSection.Clone(); sheet.SetOwner(this); Add(sheet); } } else { int i = 0; foreach (var border in this) { var refBorder = reference[i]; if (refBorder != null) { border.Combine(refBorder); } i++; } } }
/// <summary> /// Clones this instance. /// </summary> /// <returns> /// A new object that is a copy of this instance. /// </returns> public XlsxStyleBorders Clone() { var cloned = new XlsxStyleBorders(Parent) { Properties = Properties.Clone() }; foreach (XlsxStyleBorder border in this) { cloned.Add(border.Clone()); } return(cloned); }