public new List <HtmlElement> GetElements(HtmlFunc <HtmlElement, bool> func, int maxDepth = -1) { if (func is null) { throw new ArgumentNullException(nameof(func)); } return(base.GetElements(func, maxDepth)); }
public new HtmlNode GetNode(HtmlFunc <HtmlNode, bool> func, int maxDepth = -1) { if (func is null) { throw new ArgumentNullException(nameof(func)); } return(base.GetNode(func, maxDepth)); }
void Filter(List <HtmlElement> elements, HtmlFunc <HtmlElement, bool> func) { if (elements is null) { throw new ArgumentNullException(nameof(elements)); } if (func is null) { throw new ArgumentNullException(nameof(func)); } for (int i = 0; i < elements.Count; i++) { if (!func(elements[i])) { elements.RemoveAt(i--); } } }
void Query(List <HtmlElement> elements, List <HtmlElement> tempElements, HtmlFunc <HtmlElement, List <HtmlElement> > func) { if (elements is null) { throw new ArgumentNullException(nameof(elements)); } if (tempElements is null) { throw new ArgumentNullException(nameof(tempElements)); } if (func is null) { throw new ArgumentNullException(nameof(func)); } tempElements.Clear(); foreach (HtmlElement element in elements) { tempElements.AddRange(func(element)); } elements.Clear(); elements.AddRange(tempElements); }