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(); }
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(); }
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(); }