Пример #1
0
 public TestSubMenuItem(string menu, string text, string title, BreadCrumbType breadCrumbType, IConsoleMenuController controller)
 {
     _menu           = menu;
     _title          = title;
     _breadCrumbType = breadCrumbType;
     _controller     = controller;
     ItemText        = text;
 }
        /// <summary>Registers user dependencies with the dependency inject framework.</summary>
        /// <param name="userCallBackMethod">The method that should be called.</param>
        public void AddDependencies(Action <IServiceCollection> userCallBackMethod)
        {
            if (_dependenciesAdded)
            {
                throw new ArgumentException("Please call the AddDependencies method ONLY once!");
            }

            var collection = new ServiceCollection();

            RegisterInternalDependencies(collection);

            userCallBackMethod?.Invoke(collection); // Register user dependencies

            _serviceProvider = collection.BuildServiceProvider();

            // Create these here (as opposed to the RegisterInternalDependencies method)
            // so that user can override them if desired!
            _menuRepository = _serviceProvider.GetService <IConsoleMenuRepository>();
            _menuController = _serviceProvider.GetService <IConsoleMenuController>();

            _dependenciesAdded = true;
        }
 public LaunchSubMenuItem(IConsoleMenuController menuController)
 {
     _menuController = menuController;
 }