Ejemplo n.º 1
0
        private static void MultipleRegistration(IUnityContainer container)
        {
            container.RegisterType <ICarDemo1, BMWd1>();
            container.RegisterType <ICarDemo1, Audid1>(); // Контейнер внедрит последний зарегистрированный тип, если вы зарегистрируете несколько отображений одного типа
            Driverd1 driver = container.Resolve <Driverd1>();

            driver.RunCar(); // Running Audi
            Console.WriteLine();
        }
Ejemplo n.º 2
0
        private static void RegisterInstance(IUnityContainer container)
        {
            ICarDemo1 audi = new Audid1();

            container.RegisterInstance <ICarDemo1>(audi);
            Driverd1 driver1 = container.Resolve <Driverd1>();

            driver1.RunCar();
            driver1.RunCar();
            Driverd1 driver2 = container.Resolve <Driverd1>();

            driver2.RunCar();
        }
Ejemplo n.º 3
0
        private static void RegisterNamedType(IUnityContainer container)
        {
            // Теперь метод Resolve() вернет объект Audi, если мы укажем ИМЯ отображения.
            container.RegisterType <ICarDemo1, BMWd1>();
            container.RegisterType <ICarDemo1, Audid1>("LuxuryCar");
            // Registers Driver type
            container.RegisterType <Driverd1>("LuxuryCarDriver", new InjectionConstructor(container.Resolve <ICarDemo1>("LuxuryCar")));
            Driverd1 driver1 = container.Resolve <Driverd1>();// injects BMW

            driver1.RunCar();
            Driverd1 driver2 = container.Resolve <Driverd1>("LuxuryCarDriver");// injects Audi

            driver2.RunCar();
            Console.WriteLine();
        }