public override object Clone() { GroupRenderer clone = (GroupRenderer)this.MemberwiseClone(); clone._renderers = new List <Renderer>(); foreach (Renderer renderer in _renderers) { clone.Add((Renderer)renderer.Clone()); } return(clone); }
public static GroupRenderer ReadFrom(ArcXmlReader reader) { try { GroupRenderer groupRenderer = new GroupRenderer(); if (!reader.IsEmptyElement) { reader.Read(); while (!(reader.NodeType == XmlNodeType.EndElement && reader.Name == XmlName)) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case GroupRenderer.XmlName: groupRenderer.Add(GroupRenderer.ReadFrom(reader)); break; case ScaleDependentRenderer.XmlName: groupRenderer.Add(ScaleDependentRenderer.ReadFrom(reader)); break; case SimpleLabelRenderer.XmlName: groupRenderer.Add(SimpleLabelRenderer.ReadFrom(reader)); break; case SimpleRenderer.XmlName: groupRenderer.Add(SimpleRenderer.ReadFrom(reader)); break; case ValueMapLabelRenderer.XmlName: groupRenderer.Add(ValueMapLabelRenderer.ReadFrom(reader)); break; case ValueMapRenderer.XmlName: groupRenderer.Add(ValueMapRenderer.ReadFrom(reader)); break; } } reader.Read(); } } return(groupRenderer); } catch (Exception ex) { if (ex is ArcXmlException) { throw ex; } else { throw new ArcXmlException(String.Format("Could not read {0} element.", XmlName), ex); } } }