|  | using System.Collections; | 
|  | using System.Collections.Generic; | 
|  | using System.Xml; | 
|  |  | 
|  | namespace AppsheetEpplus; | 
|  |  | 
|  | public class ExcelProtectedRangeCollection : XmlHelper, IEnumerable<ExcelProtectedRange> { | 
|  | internal ExcelProtectedRangeCollection(XmlNamespaceManager nsm, XmlNode topNode) | 
|  | : base(nsm, topNode) { | 
|  | foreach (XmlNode protectedRangeNode in topNode.SelectNodes( | 
|  | "d:protectedRanges/d:protectedRange", | 
|  | nsm)) { | 
|  | if (!(protectedRangeNode is XmlElement)) { | 
|  | continue; | 
|  | } | 
|  | _baseList.Add(new(nsm, topNode)); | 
|  | } | 
|  | } | 
|  |  | 
|  | private readonly List<ExcelProtectedRange> _baseList = new(); | 
|  |  | 
|  | public ExcelProtectedRange this[int index] => _baseList[index]; | 
|  |  | 
|  | IEnumerator<ExcelProtectedRange> IEnumerable<ExcelProtectedRange>.GetEnumerator() { | 
|  | return _baseList.GetEnumerator(); | 
|  | } | 
|  |  | 
|  | IEnumerator IEnumerable.GetEnumerator() { | 
|  | return _baseList.GetEnumerator(); | 
|  | } | 
|  | } |