Example #1
0
 public void Verify(ContainerVerification options, ContainerImpl container)
 {
     foreach (var reg in _regs)
     {
         reg.Verify(options, container);
     }
 }
Example #2
0
        // ReSharper restore MemberCanBePrivate.Global

        internal ContainerImpl(ReadOnlySpan <IRegistration> registrations, ContainerVerification containerVerification)
        {
            var context = new ContainerRegistrationContext(this, Registrations);

            foreach (var registration in registrations)
            {
                ((IContanerRegistration)registration).Register(context);
            }

            SingletonLocks = new object[context.SingletonCount];
            for (var i = 0; i < context.SingletonCount; i++)
            {
                SingletonLocks[i] = new object();
            }

            Singletons = new object[context.SingletonCount];
            Instances  = context.Instances;
            context.AddCReg(Enumerable.Repeat(new KeyAndType(null, typeof(IContainer)), 1), true,
                            new ContainerInjectImpl());
            if (containerVerification == ContainerVerification.None)
            {
                return;
            }
            foreach (var(_, reg) in Registrations)
            {
                reg.Verify(containerVerification, this);
            }
        }
Example #3
0
 public void Verify(ContainerVerification options, ContainerImpl container)
 {
     if (options.HasFlag(ContainerVerification.SingletonsUsingOnlySingletons))
     {
         var context = new GenerationContext(container, _wrapping, new BuildContext(container));
         context.VerifySingletonUsingOnlySingletons(_implementationType);
     }
 }
Example #4
0
 public void Verify(ContainerVerification options, ContainerImpl container)
 {
 }
Example #5
0
 public IContainer BuildAndVerify(ContainerVerification options = ContainerVerification.All)
 {
     return(new ContainerImpl(_registrations.AsReadOnlySpan(), options));
 }