Ejemplo n.º 1
0
        public PairNode <T> AddChild(T value)
        {
            PairNode <T> node = new PairNode <T>(value, this);

            _children.Add(node);

            return(node);
        }
Ejemplo n.º 2
0
        public PairNode <T> FindInChildren(T data)
        {
            int i = 0, l = Count;

            for (; i < l; ++i)
            {
                PairNode <T> child = _children[i];
                if (child.Data.Equals(data))
                {
                    return(child);
                }
            }

            return(null);
        }
Ejemplo n.º 3
0
 public static IEnumerable <PairNode <ISidecar> > Flatten(this PairNode <ISidecar> e)
 {
     //return e.Children.SelectMany(c => c.Children.Flatten()).Concat(new[] { e });
     return(e.Children.SelectMany(c => c.Children.Flatten()).Concat(e.Children).Concat(new[] { e }));
 }
Ejemplo n.º 4
0
 public PairNode(T data, PairNode <T> parent) : this(data)
 {
     _parent = parent;
     _level  = _parent != null ? _parent.Level + 1 : 0;
 }
Ejemplo n.º 5
0
 public bool RemoveChild(PairNode <T> node)
 {
     return(_children.Remove(node));
 }