コード例 #1
0
        public override void Initialize()
        {
            var outputServices = new List<IOutputService> 
            {
                new ConsoleOutputService(), 
                new MessageBoxOutputService()
            };

            IOutputService compositeOutputService = new CompositeOutputService(outputServices);

            base.container.RegisterType<IInputService, ConsoleInputService>();
            base.container.RegisterInstance<IOutputService>(compositeOutputService);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: AlexJCross/LearningsInC
        private static void RegisterServices()
        {
            IUnityContainer container = new UnityContainer();

            var outputServices = new List<IOutputService> 
            {
                new ConsoleOutputService(), 
                new MessageBoxOutputService()
            };

            IOutputService compositeOutputService = new CompositeOutputService(outputServices);

            container.RegisterType<ICalculatorReplLoop, CalculatorReplLoop>()
                     .RegisterType<ICalculator, Calculator>()
                     .RegisterType<IInputService, ConsoleInputService>()
                     .RegisterType<IParserService, InputParserService>()
                     .RegisterInstance<IOutputService>(compositeOutputService);

            ICalculatorReplLoop loop = container.Resolve<ICalculatorReplLoop>();
            loop.Run();
        }