public T ResolveOrDefault <T>() { Type type = TypeGetter.GetType <T>(); AssemblyRegistrar.RegisterIfNotExist(Storage.Assemblies, type); IService service = ServiceFinder.Find(Storage.Services, type); if (service == null) { return(default);
public object ResolveOrAuto(Type type) { AssemblyRegistrar.RegisterIfNotExist(Storage.Assemblies, type); IService service = ServiceFinder.Find(Storage.Services, type); if (service == null) { IEnumerable <IService> services = ServicesGenerator.GenerateServices(type, Storage.Assemblies, this); ServiceRegistrar.Register(Storage.Services, services); return(ServiceInstanceResolver.ResolveInstance(ServiceFinder.Find(Storage.Services, type), this)); } return(ServiceInstanceResolver.ResolveInstance(service, this)); }