public static void Register(IWindsorContainer container, MultipleBinding binding) { var registration = AllTypes.From(binding.Services).Pick(); if (binding.BindTo.Count > 0) registration = registration.WithServices(binding.BindTo); registration = ApplyLifecycle(registration, binding.Lifecycle); container.Register(registration); }
public static void Register(global::Autofac.IContainer container, MultipleBinding binding) { var builder = new ContainerBuilder(); var registration = builder.RegisterTypes(binding.Services.ToArray()); if (binding.BindTo.Count > 0) registration = registration.As(binding.BindTo.ToArray()); ApplyLifestyleMultiple(registration, binding.Lifestyle); builder.Update(container); }
public static void Register(IWindsorContainer container, MultipleBinding binding) { var registration = Classes.From(binding.Services).Pick(); if (binding.BindTo.Count > 0) { registration = registration.WithServices(binding.BindTo); } registration = ApplyLifestyle(registration, binding.Lifestyle); container.Register(registration); }
public static void Register(global::StructureMap.IContainer container, MultipleBinding binding) { container.Configure(ce => { foreach (var implementation in binding.Services.Where(t => !t.IsInterface && !t.IsAbstract)) { var tempImplementation = implementation; binding.BindTo.ForEach(t => ApplyLifestyleSingle(ce.For(t), binding.Lifestyle).Add(tempImplementation)); if (binding.BindTo.Count == 0) { ApplyLifestyleSingle(ce.For(implementation), binding.Lifestyle).Add(implementation); } } }); }
public MultipleBindingSyntax(IEnumerable <Type> services) { _binding = new MultipleBinding(services); }