예제 #1
0
 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));
 }
예제 #2
0
 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));
 }
예제 #3
0
 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--);
         }
     }
 }
예제 #4
0
 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);
 }