public void SingletonLifetime(IFrameworkAdapter framework) { framework.RegisterSingleton <IService, IndependentService>(); var instance1 = framework.Resolve <IService>(); var instance2 = framework.Resolve <IService>(); Assert.Same(instance1, instance2); }
public void TransientFactoryUsedBySingletonStillCreatesTransient(IFrameworkAdapter framework) { framework.RegisterTransient <IService, IndependentService>(); framework.RegisterSingleton <ServiceWithFuncConstructorDependency>(); var service = framework.Resolve <ServiceWithFuncConstructorDependency>(); var first = service.Factory(); var second = service.Factory(); Assert.NotSame(first, second); }
public static void RegisterTransient <TService>(this IFrameworkAdapter container) { container.RegisterSingleton <TService, TService>(); }
public static void RegisterSingleton <TService, TImplementation>(this IFrameworkAdapter container) where TImplementation : TService { container.RegisterSingleton(typeof(TService), typeof(TImplementation)); }