ListSelector
Represents a group of selectors.
Zero or more selectors separated by commas.
using System.Text;
namespace AngleSharp.Dom.Css
{
internal sealed class ListSelector : Selectors, ISelector, IStyleFormattable
{
public bool IsInvalid { get; set; }
internal static ListSelector Create(params ISelector[] selectors)
{
ListSelector listSelector = new ListSelector();
for (int i = 0; i < selectors.Length; i++) {
listSelector.selectors.Add(selectors[i]);
}
return listSelector;
}
public bool Match(IElement element)
{
for (int i = 0; i < selectors.Count; i++) {
if (selectors[i].Match(element))
return true;
}
return false;
}
public override string ToCss()
{
StringBuilder stringBuilder = Pool.NewStringBuilder();
if (selectors.Count > 0) {
stringBuilder.Append(selectors[0].Text);
for (int i = 1; i < selectors.Count; i++) {
stringBuilder.Append(',').Append(selectors[i].Text);
}
}
return stringBuilder.ToPool();
}
}
}