AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.4.0" />

 StyleSheetList

A collection of CSS elements.
using AngleSharp.DOM.Css; using System.Collections; using System.Collections.Generic; namespace AngleSharp.DOM.Collections { [DOM("StyleSheetList")] public sealed class StyleSheetList : IEnumerable<StyleSheet>, IEnumerable { private Node _parent; [DOM("item")] public StyleSheet this[int index] { get { IEnumerator<StyleSheet> enumerator = GetEnumerator(); int num = 0; while (enumerator.MoveNext()) { if (num == index) return enumerator.Current; num++; } return null; } } [DOM("length")] public int Length { get { IEnumerator<StyleSheet> enumerator = GetEnumerator(); int num = 0; while (enumerator.MoveNext()) { num++; } return num; } } internal StyleSheetList(Node parent) { _parent = parent; } private static IEnumerable<StyleSheet> GetStyleSheets(Node parent) { foreach (Node childNode in parent.ChildNodes) { if (childNode is Element) { if (childNode is IStyleSheet) { StyleSheet sheet2 = ((IStyleSheet)childNode).Sheet; if (sheet2 != null) yield return sheet2; } else { foreach (StyleSheet styleSheet in GetStyleSheets(childNode)) { yield return styleSheet; } } } } } public IEnumerator<StyleSheet> GetEnumerator() { return GetStyleSheets(_parent).GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } }