Пример #1
0
 public override void Process(Request request)
 {
 }
Пример #2
0
 public override void Process(Request request)
 {
     request.Price *= 1.3;
 }
Пример #3
0
 public void HandleRequest(Request request)
 {
     if (request == null) return;
     if (request.Type == Type)
     {
         //process(Request);
     }
     else
     {
         if (Successors.Count > 0)
             foreach (IHandler successor in Successors)
                 successor.HandleRequest(request);
     }
 }
Пример #4
0
 //需要具体IHandler类型处理的内容
 public abstract void Process(Request request);
Пример #5
0
        //按照链式方式依次把调用继续下去
        public virtual void HandleRequest(Request request)
        {
            if (HasBreakPoint && Break != null)
                Break(this, new CallHandlerEventArgs(this, request));

            if (request == null) return;
            if (request.Type == Type)
                Process(request);
            else
                if (Successor != null)
                    successor.HandleRequest(request);
        }
Пример #6
0
 public CallHandlerEventArgs(IHandler handler,Request request)
 {
     this.handler = handler;
     this.request = request;
 }