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");
            }
        }
Example #2
0
 public Response ServiceMethod(int otherParameter, RequestThree request)
 {
     return(new Response());
 }
Example #3
0
 internal Response ServiceMethod(RequestThree request)
 {
     return(new Response());
 }
Example #4
0
 public async Task <object> ServiceMethodReturningTaskOfT(RequestThree request)
 {
     return(await LongRunningTask.Instance <object>());
 }
Example #5
0
 public Response MethodFromDerivedService(RequestThree request)
 {
     return(new Response());
 }
 public async Task <Response> ServiceMethod(int otherParameter, RequestThree request)
 {
     return(await LongRunningTask.Instance <Response>());
 }
 internal async Task <Response> ServiceMethod(RequestThree request)
 {
     return(await LongRunningTask.Instance <Response>());
 }
 public Task ServiceMethod(RequestThree request, CancellationToken cancel)
 {
     return(LongRunningTask.Instance());
 }
 public async Task <Response> MethodFromDerivedService(RequestThree request)
 {
     return(await LongRunningTask.Instance <Response>());
 }