static void Main(string [] args) { if (Debugger.IsAttached) { CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US"); } _scenarios = Scenario.GetDerivedClassesCollection().ToList(); if (args.Length > 0) { var item = _scenarios.FindIndex(t => Scenario.ScenarioMetadata.GetName(t).Equals(args [0], StringComparison.OrdinalIgnoreCase)); _runningScenario = (Scenario)Activator.CreateInstance(_scenarios [item]); Application.Init(); _runningScenario.Init(Application.Top); _runningScenario.Setup(); _runningScenario.Run(); _runningScenario = null; return; } Scenario scenario = GetScenarioToRun(); while (scenario != null) { Application.Init(); scenario.Init(Application.Top); scenario.Setup(); scenario.Run(); scenario = GetScenarioToRun(); } }
static void Main(string [] args) { Console.OutputEncoding = Encoding.Default; if (Debugger.IsAttached) { CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US"); } _scenarios = Scenario.GetDerivedClasses <Scenario> ().OrderBy(t => Scenario.ScenarioMetadata.GetName(t)).ToList(); if (args.Length > 0 && args.Contains("-usc")) { _useSystemConsole = true; args = args.Where(val => val != "-usc").ToArray(); } if (args.Length > 0) { var item = _scenarios.FindIndex(t => Scenario.ScenarioMetadata.GetName(t).Equals(args [0], StringComparison.OrdinalIgnoreCase)); _runningScenario = (Scenario)Activator.CreateInstance(_scenarios [item]); Application.UseSystemConsole = _useSystemConsole; Application.Init(); _runningScenario.Init(Application.Top, _baseColorScheme); _runningScenario.Setup(); _runningScenario.Run(); _runningScenario = null; Application.Shutdown(); return; } Scenario scenario; while ((scenario = GetScenarioToRun()) != null) { #if DEBUG_IDISPOSABLE // Validate there are no outstanding Responder-based instances // after a scenario was selected to run. This proves the main UI Catalog // 'app' closed cleanly. foreach (var inst in Responder.Instances) { Debug.Assert(inst.WasDisposed); } Responder.Instances.Clear(); #endif scenario.Init(Application.Top, _baseColorScheme); scenario.Setup(); scenario.Run();
static void Main(string [] args) { if (Debugger.IsAttached) { CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US"); } _scenarios = Scenario.GetDerivedClasses <Scenario> ().OrderBy(t => Scenario.ScenarioMetadata.GetName(t)).ToList(); if (args.Length > 0) { var item = _scenarios.FindIndex(t => Scenario.ScenarioMetadata.GetName(t).Equals(args [0], StringComparison.OrdinalIgnoreCase)); _runningScenario = (Scenario)Activator.CreateInstance(_scenarios [item]); Application.Init(); _runningScenario.Init(Application.Top, _baseColorScheme); _runningScenario.Setup(); _runningScenario.Run(); _runningScenario = null; return; } Scenario scenario; while ((scenario = GetScenarioToRun()) != null) { #if DEBUG_IDISPOSABLE // Validate there are no outstanding Responder-based instances // after a sceanario was selected to run. This proves the main UI Catalog // 'app' closed cleanly. foreach (var inst in Responder.Instances) { Debug.Assert(inst.WasDisposed); } Responder.Instances.Clear(); #endif Application.UseSystemConsole = _useSystemConsole; scenario.Init(Application.Top, _baseColorScheme); scenario.Setup(); scenario.Run(); _top.Ready += () => { _top.SetFocus(_rightPane); _top.Ready = null; }; #if DEBUG_IDISPOSABLE // After the scenario runs, validate all Responder-based instances // were disposed. This proves the scenario 'app' closed cleanly. foreach (var inst in Responder.Instances) { Debug.Assert(inst.WasDisposed); } Responder.Instances.Clear(); #endif } Application.Shutdown(); #if DEBUG_IDISPOSABLE // This proves that when the user exited the UI Catalog app // it cleaned up properly. foreach (var inst in Responder.Instances) { Debug.Assert(inst.WasDisposed); } Responder.Instances.Clear(); #endif }