Beispiel #1
0
 public HierarchicalLifetimeManagerTest()
 {
     container = new FsContainer();
     container.For <ILogger>().Use <Logger>(new HierarchicalLifetimeManager());
     child       = container.CreateChildContainer();
     nestedChild = container.CreateChildContainer();
 }
        public void ConstructorTest()
        {
            FsRootContainer target = new FsRootContainer();

            Assert.NotNull(target.Items);
            Assert.Empty(target.Items);
            Assert.NotNull(target.Items.Owner);
            Assert.Empty(target.Items.Keys);
            Assert.Empty(target.Items.Values);

            IFsContainer altTarget = target;

            Assert.NotNull(altTarget.Items);
            Assert.Same(altTarget.Items, target.Items);
            Assert.NotNull(altTarget.Root);
            Assert.Same(altTarget.Root, target);
            Assert.NotNull(target.Items.Keys);
        }
Beispiel #3
0
        public object Resolve(IFsContainer container, IEnumerable <IBinding> bindings, Type service)
        {
            lock (_locker) {
                Guard.ArgumentNotNull(bindings, nameof(bindings));

                foreach (var binding in bindings)
                {
                    if (binding.Lifetime is PerResolveLifetimeManager)
                    {
                        binding.Lifetime = new PerResolveLifetimeManager();
                    }
                }

                var context = new ResolveContext {
                    Container = container,
                    Bindings  = bindings
                };

                return(Resolve(context, service));
            }
        }
 public object Resolve(IFsContainer container, IEnumerable <IBinding> bindings, Type service)
 {
     throw new CustomBindingResolverException();
 }
 internal FsStructureKeyCollection(IList <T> list, IFsContainer owner)
 {
     _innerList = list ?? new List <T>();
     _owner     = owner ?? throw new ArgumentNullException("owner");
 }