public void TestTransient2() { //Not we are not using the interface here InjectService.RegisterTransient <WordService>(); Assert.IsNotNull(InjectService.Get <WordService>()); InjectService.RegisterTransient(() => new SentanceService()); Assert.IsNotNull(InjectService.Get <SentanceService>()); }
public void TestTransient() { //Register a concrete type keyed by an interface InjectService.RegisterTransient <IWordService, WordService>(); InjectService.RegisterTransient <ISentanceService, SentanceService>(); InjectService.RegisterTransient <Document>(); var document = InjectService.Get <Document>(); Assert.IsNotNull(document); Assert.IsNotNull(document.Sentances); Assert.IsNotNull(document.Words); Assert.AreEqual(document.Print(), document.Sentances.GetSentance()); }
public void TestRemove() { InjectService.RegisterTransient <IWordService, WordService>(); InjectService.RegisterTransient <ISentanceService, SentanceService>(); InjectService.RegisterTransient <Document>(); InjectService.Unregister <Document>(); var document = InjectService.Get <Document>(); Assert.IsNull(document); InjectService.UnregisterAll(); Assert.IsNull(InjectService.Get <IWordService>()); Assert.IsNull(InjectService.Get <ISentanceService>()); }
/// <summary> /// 注册为IoC工厂方法 /// </summary> public void RegisterIoCFactory() { InjectService.RegisterTransient <Foo>(CreateFoo); }