public void ProvideInstance(IService service) { if (AutoValueChecker.Check(service)) { service.Data.Instance = InstanceCreator.CreateInstance(service.Registration.TargetType); } else if (!AutoValueChecker.Check(service)) { service.Data.Instance = null; } }
public void Register(Type type) { AssemblyRegistrar.RegisterIfNotExist(Storage.Assemblies, type); IEnumerable <IService> services = ServicesGenerator.GenerateServices(type, Storage.Assemblies, null); foreach (IService service in services) { if (ServiceIsAutoValueChecker.Check(service)) { ServiceInitializer.Initialize(service, this); } } ServiceRegistrar.Register(Storage.Services, services); }