CloneFor() private method

private CloneFor ( INCopDependencyContainer container ) : ServiceEntry
container INCopDependencyContainer
return ServiceEntry
Example #1
0
        private TService CloneAndResolve <TService>(ServiceKey key, ServiceEntry entry, INCopDependencyContainer container, Action <ServiceKey, ServiceEntry> registry, Func <TService> factory)
        {
            var clonedEntry = entry.CloneFor(container);

            registry(key, clonedEntry);

            var context = new ResolveContext <TService> {
                Key       = key,
                Factory   = factory,
                Entry     = clonedEntry,
                Registry  = registry,
                Container = container
            };

            return(clonedEntry.LifetimeStrategy.Resolve(context));
        }