示例#1
0
        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;
            }
        }
示例#2
0
        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);
        }