private void RunChainOfResponsibilityExample()
        {
            RequestHandler rh1 = new RequestOne("Request 1");
            RequestHandler rh2 = new RequestTwo("Request 2");
            RequestHandler rh3 = new RequestThree("Request 3");
            RequestHandler rh4 = new RequestFour("Request 4");

            rh1.Successor = rh2;
            rh2.Successor = rh3;
            rh3.Successor = rh4;
            rh4.Successor = null;

            rh1.ProcessRequest(rh4);
            rh1.ProcessRequest(rh3);
            rh1.ProcessRequest(rh2);

            try
            {
                rh2.ProcessRequest(rh1);
                Console.WriteLine("Error: Successors shouldn't 'know' about pre-successors");
            }
            catch (Exception e)
            {
                Console.WriteLine("Worked: Successors shouldn't 'know' about pre-successors");
            }
        }
示例#2
0
 public Response ServiceMethod(RequestFour request)
 {
     return(new Response());
 }
示例#3
0
 protected internal Response ServiceMethod(RequestFour request)
 {
     return(new Response());
 }
 public async Task <Response> ServiceMethod(RequestFour request)
 {
     return(await LongRunningTask.Instance <Response>());
 }
 protected internal async Task <Response> ServiceMethod(RequestFour request)
 {
     return(await LongRunningTask.Instance <Response>());
 }
 public Task <object> ServiceMethod(RequestFour request, CancellationToken cancel)
 {
     return(LongRunningTask.Instance <object>());
 }