public IEnumerable <object> ResolveAll(Type serviceType) { var registrations = componentStore.GetRegistrationsForService(serviceType); foreach (var item in registrations) { object resolve = null; try { resolve = Resolve(item.Service); } catch { } if (resolve != null) { yield return(resolve); } } }
public virtual IRegistration LookupType(Query query, ResolverContext context) { IList <IRegistration> localParents = new List <IRegistration>(context.UsedRegistrations); var registrations = componentStore.GetRegistrationsForService(query.ServiceType); if (query.Name != null) { var @default = registrations.SingleOrDefault(p => p.Name == query.Name); if (@default == null) { throw new ServiceNotFoundException(query.ServiceType, query.Name); } return(@default); } var registration = SkipParents(registrations, localParents); if (registration == null) { return(null); } context.ConsumeRegistration(registration); return(registration); }