public IEnumerable <T> ResolveAll <T>(RegisterType type) { if (!LoaderCacheBase.ContainsType(typeof(T), type)) { return(null); } switch (type) { case RegisterType.LazySingleton: return(LazySingletonLoaderCache <T> .Instanse.Select(e => e.Value).ToArray()); case RegisterType.PerCall: return(PerCallLoaderCache <T> .Instanse.Select(e => e()).ToArray()); case RegisterType.PerHttpRequest: return(PerHttpRequestLoaderCache <T> .GetValues()); case RegisterType.PerThread: return(PerThreadLoaderCache <T> .Instanse.Select(e => e.Value).ToArray()); case RegisterType.Singleton: default: return(SingletonLoaderCache <T> .Instanse.ToArray()); } }
public T Resolve <T>(RegisterType type) { if (!LoaderCacheBase.ContainsType(typeof(T), type)) { return(default(T)); } switch (type) { case RegisterType.LazySingleton: return(LazySingletonLoaderCache <T> .Instanse.First().Value); case RegisterType.PerCall: return(PerCallLoaderCache <T> .Instanse.First()()); case RegisterType.PerHttpRequest: return(PerHttpRequestLoaderCache <T> .GetValues().First()); case RegisterType.PerThread: return(PerThreadLoaderCache <T> .Instanse.First().Value); case RegisterType.Singleton: default: return(SingletonLoaderCache <T> .Instanse.First()); } }