private IEnumerable <MismatchedLifestyleDependency> GetMismatch(MismatchedLifestyleDependency parent, ComponentModel component, IDictionary <ComponentModel, IHandler> model2Handler) { if (parent.Checked(component)) { yield break; } var handler = model2Handler[component]; var item = new MismatchedLifestyleDependency(handler, parent); if (item.Mismatched()) { yield return(item); } else { foreach (ComponentModel dependent in handler.ComponentModel.Dependents) { foreach (var mismatch in GetMismatch(item, dependent, model2Handler)) { yield return(mismatch); } } } }
private IEnumerable<MismatchedLifestyleDependency> GetMismatch(MismatchedLifestyleDependency parent, ComponentModel component, IDictionary<ComponentModel, IHandler> model2Handler) { if (parent.Checked(component)) { yield break; } var handler = model2Handler[component]; var item = new MismatchedLifestyleDependency(handler, parent); if (item.Mismatched()) { yield return item; } else { foreach (ComponentModel dependent in handler.ComponentModel.Dependents) { foreach (var mismatch in GetMismatch(item, dependent, model2Handler)) { yield return mismatch; } } } }
private IEnumerable<MismatchedLifestyleDependency> GetMismatches(IHandler handler, IDictionary<ComponentModel, IHandler> model2Handler) { if (IsSingleton(handler) == false) { yield break; } var root = new MismatchedLifestyleDependency(handler); foreach (ComponentModel dependent in handler.ComponentModel.Dependents) { foreach (var mismatch in GetMismatch(root, dependent, model2Handler)) { yield return mismatch; } } }
private IEnumerable <MismatchedLifestyleDependency> GetMismatches(IHandler handler, IDictionary <ComponentModel, IHandler> model2Handler) { if (IsSingleton(handler) == false) { yield break; } var root = new MismatchedLifestyleDependency(handler); foreach (ComponentModel dependent in handler.ComponentModel.Dependents) { foreach (var mismatch in GetMismatch(root, dependent, model2Handler)) { yield return(mismatch); } } }
public MismatchedLifestyleDependency(IHandler handler, MismatchedLifestyleDependency parent = null) { Handler = handler; Parent = parent; if (parent == null) { checkedComponents = new HashSet <ComponentModel> { handler.ComponentModel }; } else { checkedComponents = new HashSet <ComponentModel> { parent.Handler.ComponentModel }; } }
public MismatchedLifestyleDependency(IHandler handler, MismatchedLifestyleDependency parent = null) { Handler = handler; Parent = parent; if (parent == null) { checkedComponents = new HashSet<ComponentModel> { handler.ComponentModel }; } else { checkedComponents = new HashSet<ComponentModel> { parent.Handler.ComponentModel }; } }