Example #1
0
 static void InitDi()
 {
     DiContainer = new TinyIoCContainer();
     DiContainer.Register <IObservableClientAuthenticator, RestAuth>().AsMultiInstance();
     DiContainer.Register <IRestDatabase, RestDatabase>();
     DiContainer.Register <IValidator, Validator>();
 }
        public void Prepare()
        {
            container.Register <ITransient1, ScopedTransient>();

            container.Register <ICombined1, ScopedCombined1>();
            container.Register <ICombined2, ScopedCombined2>();
            container.Register <ICombined3, ScopedCombined3>();
        }
Example #3
0
        public void Map(IDiContainer diContainer)
        {
            diContainer.Register <IPlugInLoader, PlugInLoader>();
            diContainer.Register <IMyMessageSubscriptionTester, MyMessageSubscriptionTester>();
            diContainer.Register <IMyPublicMessageCaller, MyPublicMessageCaller>();

            diContainer.Register <IEventBroker, EventBroker>(Scope.Singleton);
        }
Example #4
0
        public static IDiContainer Configure(IDiContainer container)
        {
            container.Register <IPosTerminal, SimplePosTerminal>().LifeTimeMode                     = InstanceLifeTimeMode.NewInstance;
            container.Register <IPriceCalculator, SimplePriceCalculator>().LifeTimeMode             = InstanceLifeTimeMode.NewInstance;
            container.Register <IShoppingCart, ShoppingCart>().LifeTimeMode                         = InstanceLifeTimeMode.NewInstance;
            container.Register <IProductRepository, FakeProductRepository>().LifeTimeMode           = InstanceLifeTimeMode.NewInstance;
            container.Register <IProductOfferRepository, FakeProductOfferRepository>().LifeTimeMode = InstanceLifeTimeMode.NewInstance;

            return(container);
        }
Example #5
0
 public void Initialize()
 {
     _container.Register <Note>();
     _container.Register <DataManager>();
     _container.Register <List <Note> >();
     _firstNote  = _container.Resolve <Note>(parameters: new object[] { (sbyte)1, "Watch movie", "Watch Thor 3", DateTime.Now });
     _secondNote =
         _container.Resolve <Note>(parameters: new object[] { (sbyte)2, "Street", "Go for a walk", DateTime.Now });
     _dataManager = _container.Resolve <DataManager>(parameters: new object[] { _container });
 }
Example #6
0
        public void RegisterNamedInterfaceWithClassAndReturnNewInstanceOnEachResolve()
        {
            const string info =
                @"container
    .Register<IFoo, Foo>()
    .Register<IFoo, Foo>(""foo2"");
";

            IDiContainer container = CreateConntainer();

            container
            .Register <IFoo, Foo>()
            .Register <IFoo, Foo>("foo2");

            const string additionalInfo1 = "container.GetInstance<IFoo>();";
            IFoo         instance1       = container.GetInstance <IFoo>();

            instance1.Should()
            .NotBeNull(info + additionalInfo1)
            .And.BeOfType <Foo>(info + additionalInfo1);

            const string additionalInfo2 = "container.GetInstance<IFoo>(\"foo2\");";
            IFoo         instance2       = container.GetInstance <IFoo>("foo2");

            instance2.Should()
            .BeOfType <Foo>(info + additionalInfo2)
            .And.NotBeSameAs(instance1, info + additionalInfo2);
        }
Example #7
0
        public void ResolveItemsFormChildContainer()
        {
            IDiContainer container = CreateConntainer();

            container
            .Register <IFoo, Foo>()
            .Register <IBar, Bar>();

            IDiContainer childContainer = container.CreateChildContainer();

            childContainer.Register <IFoo, FooChild>();

            IFoo instance = container.GetInstance <IFoo>();

            instance.Should()
            .NotBeNull()
            .And.BeOfType <Foo>();

            IFoo childInstance = childContainer.GetInstance <IFoo>();

            childInstance.Should()
            .NotBeNull()
            .And.BeOfType <FooChild>();

            IBar parentInstance = childContainer.GetInstance <IBar>();

            parentInstance.Should()
            .NotBeNull()
            .And.BeOfType <Bar>();
            (parentInstance as Bar).Foo.Should()
            .NotBeNull()
            .And.BeOfType <FooChild>();
        }
Example #8
0
        public void RegisterClassTypeAndReturnNewInstanceOnEachResolve()
        {
            const string info = "container.Register<Foo>();";

            IDiContainer container = CreateConntainer();

            container.Register <Foo>();

            Foo instance1 = container.GetInstance <Foo>();

            instance1.Should().NotBeNull(info);

            Foo instance2 = container.GetInstance <Foo>();

            instance2.Should().NotBeSameAs(instance1, info);
        }
Example #9
0
        public void ResolveConstructorDependencies()
        {
            IDiContainer container = CreateConntainer();

            container
            .Register <IFoo, Foo>()
            .Register <IBar, Bar>();

            IBar instance = container.GetInstance <IBar>();

            instance.Should()
            .NotBeNull()
            .And.BeOfType <Bar>();
            (instance as Bar).Foo.Should()
            .NotBeNull()
            .And.BeOfType <Foo>();
        }
Example #10
0
        public void RegisterInterfaceWithClassAndReturnNewInstanceOnEachResolve()
        {
            const string info = "container.Register<IFoo, Foo>();";

            IDiContainer container = CreateConntainer();

            container.Register <IFoo, Foo>();

            IFoo instance1 = container.GetInstance <IFoo>();

            instance1.Should()
            .NotBeNull(info)
            .And.BeOfType <Foo>(info);

            IFoo instance2 = container.GetInstance <IFoo>();

            instance2.Should()
            .BeOfType <Foo>(info)
            .And.NotBeSameAs(instance1, info);
        }
Example #11
0
 public void AddMapping(IDiContainer diContainer)
 {
     Console.WriteLine(nameof(PlugIn.AddMapping));
     diContainer.Register <ISecondLogicClass, SecondLogicClass>();
     diContainer.Register <INestedSecondLogicClass, NestedSecondLogicClass>();
 }
Example #12
0
 public MainWindowViewModel(IDiContainer container)
 {
     _container = container;
     _container.Register <DataManager>();
     _manager = _container.Resolve <DataManager>(parameters: new object[] { _container });
 }
 private void RegisterDummies()
 {
     container.Register <IDummyOne, DummyOne>();
     container.Register <IDummyTwo, DummyTwo>();
     container.Register <IDummyThree, DummyThree>();
     container.Register <IDummyFour, DummyFour>();
     container.Register <IDummyFive, DummyFive>();
     container.Register <IDummySix, DummySix>();
     container.Register <IDummySeven, DummySeven>();
     container.Register <IDummyEight, DummyEight>();
     container.Register <IDummyNine, DummyNine>();
     container.Register <IDummyTen, DummyTen>();
 }
        public void AddMapping(IDiContainer diContainer)
        {
            Console.WriteLine(nameof(PlugIn.AddMapping));

            diContainer.Register <IMyPlugInLogicClass, MyPlugInLogicClass>();
        }
Example #15
0
 /// <summary>
 /// Конструктор класса
 /// </summary>
 /// <param name="container">DI контейнер для внедрения зависимостей</param>
 public DataManager(IDiContainer container)
 {
     _container = container;
     _container.Register <NoteContext>();
     _container.Register <CalendarEventContext>();
 }