CssUnknownRule
Represents an unknown CSS rule.
using AngleSharp.Parser.Css;
using System.Collections.Generic;
using System.Linq;
namespace AngleSharp.Dom.Css
{
internal sealed class CssUnknownRule : CssRule
{
private readonly string _name;
private readonly List<CssToken> _prelude;
private readonly List<CssToken> _content;
public string Name => _name;
public List<CssToken> Prelude => _prelude;
public List<CssToken> Content => _content;
public CssUnknownRule(string name, CssParser parser)
: base(CssRuleType.Unknown, parser)
{
_name = name;
_prelude = new List<CssToken>();
_content = new List<CssToken>();
}
protected override void ReplaceWith(ICssRule rule)
{
_prelude.Clear();
_content.Clear();
CssUnknownRule cssUnknownRule = rule as CssUnknownRule;
_prelude.AddRange(cssUnknownRule._prelude);
_content.AddRange(cssUnknownRule._content);
}
public override string ToCss(IStyleFormatter formatter)
{
string str = string.Join("", from m in _prelude
select m.ToValue());
string str2 = string.Join("", from m in _content
select m.ToValue());
return "@" + _name + str + str2;
}
}
}