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"); } }
public Response ServiceMethod(RequestFour request) { return(new Response()); }
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>()); }