private object HandleInstancing(Type type, object[] parameters, ServiceObject serviceObj) { if (serviceObj.InstanceType == InstanceType.Transient) { return(Activator.CreateInstance(type, parameters)); } else { if (!singletons.ContainsKey(type)) { var instance = Activator.CreateInstance(type, parameters); singletons.Add(type, instance); } return(singletons[type]); } }
private void RegisterService(Type abst, Type conc, InstanceType instanceType) { var serviceObject = new ServiceObject(instanceType, conc); if (!_register.ContainsKey(abst)) { var serviceList = new List <ServiceObject>() { serviceObject }; _register.Add(abst, serviceList); } else { _register[abst].Add(serviceObject); } }