Пример #1
0
    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>());
    }
Пример #2
0
    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());
    }
Пример #3
0
    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>());
    }
Пример #4
0
 /// <summary>
 /// 注册为IoC工厂方法
 /// </summary>
 public void RegisterIoCFactory()
 {
     InjectService.RegisterTransient <Foo>(CreateFoo);
 }