예제 #1
0
        public void addLast(IFlowResolver resolver)
        {
            var ctx = new WrappedResolver(resolver);

            if (tail == null)
            {
                tail = head;
            }
            tail.Next = ctx;
            tail      = ctx;
        }
예제 #2
0
        public void remove(IFlowResolver resolver)
        {
            var current  = head;
            var previous = head;

            while (current != null)
            {
                if (current.Resolver == resolver)
                {
                    previous.Next = current.Next;
                    if (current == tail)
                    {
                        tail = previous;
                    }
                }
                //Prepare for next check
                previous = current;
                current  = current.Next;
            }
        }
예제 #3
0
 public WrappedResolver(IFlowResolver resolver, IFlowResolver next) : this(resolver, new WrappedResolver(next))
 {
 }
예제 #4
0
 public WrappedResolver(IFlowResolver resolver, WrappedResolver next) : this(resolver) {
     this.Next = next;
 }
예제 #5
0
 public WrappedResolver(IFlowResolver resolver)
 {
     this.Resolver = resolver;
 }