Ejemplo n.º 1
0
        private IEnumerable <MismatchedLifestyleDependencyViewBuilder> GetMismatch(MismatchedLifestyleDependencyViewBuilder parent, ComponentModel component,
                                                                                   Dictionary <ComponentModel, IHandler> model2Handler)
        {
            if (parent.Checked(component))
            {
                yield break;
            }

            var handler = model2Handler[component];
            var item    = new MismatchedLifestyleDependencyViewBuilder(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);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private IEnumerable <DebuggerViewItem> GetMismatches(Dictionary <ComponentModel, IHandler> model2Handler, IHandler handler)
        {
            if (IsSingleton(handler) == false)
            {
                yield break;
            }
            var root = new MismatchedLifestyleDependencyViewBuilder(handler);

            foreach (ComponentModel dependent in handler.ComponentModel.Dependents)
            {
                foreach (var mismatch in GetMismatch(root, dependent, model2Handler))
                {
                    yield return(mismatch.ViewItem);
                }
            }
        }