public static void Main(string[] args) { var user = new UserConsole(); var types = new Dictionary <int, object>(); types[0] = new TcpTest.Clients.Client(); types[1] = new TcpTest.Servers.Server(); var input = user.QueryInput("Enter Type", types.Select(p => $"{p.Value.GetType().Name}")); var obj = types[input]; Console.CancelKeyPress += (sender, e) => ((dynamic)obj).Stop(); ((dynamic)obj).Run(user); }
public static void Main(string[] args) { var user = new UserConsole(); var createUser = ParseArgs(args, user); var(api, userKey) = Create(createUser); user.SendMessage("API Key = " + api.APIKey); user.SendMessage("User Key = " + userKey); var tests = new Dictionary <string, TestDelegate>(); tests["psate"] = TestPaste; tests["list"] = TestList; tests["delete"] = TestDelete; tests["user"] = TestUser; tests["raw"] = TestRaw; while (true) { try { user.SendMessage(); user.SendMessage(); var testQuery = user.QueryInput("Enter Test", tests, pair => pair.Key, true); if (testQuery.Breaked == true) { continue; } var test = testQuery.Value.Value; test(user, api, userKey); } catch (UserInputReturnException) { } catch (Exception e) { user.SendMessage(string.Concat(e)); } } }