Esempio n. 1
0
        public override List <T> Find <T>(ReferenceQuery query, bool required)
        {
            var components = base.Find <T>(query, false);
            var locator    = query.Locator;

            // Try to create component
            if (components.Count == 0 && BuildEnabled)
            {
                var factory   = FindFactory(locator);
                var component = Create(locator, factory);
                if (component is T)
                {
                    locator = ClarifyLocator(locator, factory);
                    ParentReferences.Put(locator, component);
                    components.Add((T)component);
                }
            }

            // Throw exception is no required components found
            if (required && components.Count == 0)
            {
                throw new ReferenceException(locator);
            }

            return(components);
        }
 public virtual List <T> Find <T>(ReferenceQuery query, bool required)
 {
     return(BaseReferences.Find <T>(query, required));
 }
 public virtual List <object> Find(ReferenceQuery query, bool required)
 {
     return(Find <object>(query, required));
 }