public object this[string viewModelName] { get { try { var viewModelType = GetViewModelType(viewModelName); var viewModel = IOCContainer.Resolve(viewModelType); return(viewModel ?? throw new NullReferenceException()); } catch (Exception e) { throw new Exception($"Unable to resolve view model {viewModelName}", e); } } }
public static void RegisterTypes() { if (IOCContainer.IsInitialized) { return; } var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <RandomService>(); serviceCollection.AddSingleton <GridService>(); serviceCollection.AddSingleton <ScoringService>(); serviceCollection.AddSingleton <GameViewModel>(); var container = serviceCollection.BuildServiceProvider(); IOCContainer.SetContainer(container); }