AngleSharp by AngleSharp

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

.NET API 1,218,560 bytes

 CssRule

abstract class CssRule : ICssRule, IStyleFormattable
Represents a CSS rule.
using AngleSharp.Css; using AngleSharp.Parser.Css; namespace AngleSharp.Dom.Css { internal abstract class CssRule : ICssRule, IStyleFormattable { private readonly CssRuleType _type; private readonly CssParser _parser; private ICssStyleSheet _ownerSheet; private ICssRule _parentRule; public string CssText { get { return ToCss(); } set { CssRule cssRule = _parser.ParseRule(value); if (cssRule == null) throw new DomException(DomError.Syntax); if (cssRule.Type != _type) throw new DomException(DomError.InvalidModification); ReplaceWith(cssRule); } } public ICssRule Parent { get { return _parentRule; } internal set { _parentRule = value; } } public ICssStyleSheet Owner { get { return _ownerSheet; } internal set { _ownerSheet = value; } } public CssRuleType Type => _type; internal CssParser Parser => _parser; internal CssRule(CssRuleType type, CssParser parser) { _type = type; _parser = parser; } public string ToCss() { return ToCss(CssStyleFormatter.Instance); } public abstract string ToCss(IStyleFormatter formatter); protected abstract void ReplaceWith(ICssRule rule); } }