public PolicyBuilderTail <TSrc, TEnd> ThenComplete(Action <HandlerSpecifier <TCur, TEnd> > action) { var handlerSpecifier = new HandlerSpecifier <TCur, TEnd>(); action(handlerSpecifier); this.handlers.Add(typeof(TCur), handlerSpecifier.HandlerType); return(new PolicyBuilderTail <TSrc, TEnd>(this.context, this.handlers)); }
public PolicyBuilderTail <TSrc, TEnd> StartAndComplete(Action <HandlerSpecifier <TSrc, TEnd> > action) { var handlers = new Dictionary <Type, Type>(); var handlerSpecifier = new HandlerSpecifier <TSrc, TEnd>(); action(handlerSpecifier); handlers.Add(typeof(TSrc), handlerSpecifier.HandlerType); return(new PolicyBuilderTail <TSrc, TEnd>(this.context, handlers)); }
Then <TTar>(Action <HandlerSpecifier <TCur, TTar> > action) where TTar : Exception { var handlerSpecifier = new HandlerSpecifier <TCur, TTar>(); action(handlerSpecifier); this.handlers.Add(typeof(TCur), handlerSpecifier.HandlerType); return(new PolicyBuilderPart <TSrc, TTar, TEnd>(this.context, this.handlers)); }
//(Action<HandlerSpecifier<TCur, TEnd>> action) //{ // var handlerSpecifier = new HandlerSpecifier<TCur, TEnd>(); // action(handlerSpecifier); // this.handlers.Add(typeof(TCur), handlerSpecifier.HandlerType); public PolicyBuilderPart <TSrc, TNxt, TEnd> Start <TNxt>(Action <HandlerSpecifier <TSrc, TNxt> > action) where TNxt : Exception { var handlers = new Dictionary <Type, Type>(); var handlerSpecifier = new HandlerSpecifier <TSrc, TNxt>(); action(handlerSpecifier); handlers.Add(typeof(TSrc), handlerSpecifier.HandlerType); return(new PolicyBuilderPart <TSrc, TNxt, TEnd> (this.context, handlers)); }