private BindingResult AddBinding(Type typeSource, IInvokeStrategy invoker) { if (!bindings.ContainsKey(typeSource)) { bindings[typeSource] = new List <IInvokeStrategy>(); } bindings[typeSource].Add(invoker); return(new BindingResult(invoker, newInvoker => { bindings[typeSource].Remove(invoker); bindings[typeSource].Add(newInvoker); })); }
public SingletonStrategy(IInvokeStrategy underlyingInvoker) { this.underlyingInvoker = underlyingInvoker; }
internal BindingResult(IInvokeStrategy invoker, Action <IInvokeStrategy> replaceInvoker) { this.invoker = invoker; this.replaceInvoker = replaceInvoker; }