using System; using System.Collections.Generic; using System.Linq; using LightInject; using Umbraco.Core.Logging; using Umbraco.Core.ObjectResolution; using Umbraco.Core.Cache; namespace Umbraco.Core { /// /// A resolver to return all ICacheRefresher objects /// internal sealed class CacheRefreshersResolver : ContainerLazyManyObjectsResolver { /// /// Constructor /// /// /// /// internal CacheRefreshersResolver(IServiceContainer serviceContainer, ILogger logger, Func> refreshers) : base(serviceContainer, logger, refreshers) { } /// /// Gets the implementations. /// public IEnumerable CacheRefreshers => Values; /// /// Returns an instance for the type identified by its unique type identifier. /// /// The type identifier. /// The value of the type uniquely identified by . public ICacheRefresher GetById(Guid id) { return Values.FirstOrDefault(x => x.UniqueIdentifier == id); } } }