public Binding([NotNull] IBinding <T> binding, Lifetime lifetime) { if (binding == null) { throw new ArgumentNullException(nameof(binding)); } Container = binding.Container; Types = binding.Types; Tags = binding.Tags; Lifetime = lifetime != IoC.Lifetime.Transient ? binding.Container.Resolve <ILifetime>(lifetime.AsTag(), binding.Container) : null; }