public MemoryCacheNavigationTreeBuilder( INavigationTreeBuilder implementation, IMemoryCache cache, IOptions<MemoryCacheNavigationTreeBuilderOptions> optionsAccessor, INavigationCacheKeyResolver cacheKeyResolver, ILogger<MemoryCacheNavigationTreeBuilder> logger) { if (implementation == null) { throw new ArgumentNullException(nameof(implementation)); } if (implementation is MemoryCacheNavigationTreeBuilder) { throw new ArgumentException("implementation cannot be an instance of MemoryCacheNavigationTreeBuilder"); } if (cache == null) { throw new ArgumentNullException(nameof(cache)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (optionsAccessor == null) { throw new ArgumentNullException(nameof(optionsAccessor)); } if (cacheKeyResolver == null) { throw new ArgumentNullException(nameof(cacheKeyResolver)); } this.implementation = implementation; this.cache = cache; log = logger; options = optionsAccessor.Value; this.cacheKeyResolver = cacheKeyResolver; }
public MemoryCacheNavigationTreeBuilder( INavigationTreeBuilder implementation, IMemoryCache cache, IOptions <MemoryCacheNavigationTreeBuilderOptions> optionsAccessor, INavigationCacheKeyResolver cacheKeyResolver, ILogger <MemoryCacheNavigationTreeBuilder> logger) { if (implementation == null) { throw new ArgumentNullException(nameof(implementation)); } if (implementation is MemoryCacheNavigationTreeBuilder) { throw new ArgumentException("implementation cannot be an instance of MemoryCacheNavigationTreeBuilder"); } if (cache == null) { throw new ArgumentNullException(nameof(cache)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (optionsAccessor == null) { throw new ArgumentNullException(nameof(optionsAccessor)); } if (cacheKeyResolver == null) { throw new ArgumentNullException(nameof(cacheKeyResolver)); } this.implementation = implementation; this.cache = cache; log = logger; options = optionsAccessor.Value; this.cacheKeyResolver = cacheKeyResolver; }