C#開發交互式命令行應用示例
前言
如果你開發過vue應用,應該對其交互式命令行印象深刻:
它允許你無需任何編程經驗,僅需回答問題,就可完成vue應用創建。
雖然作為.NETer,大部分情況下我們不會使用命令行,但是還是希望能用C#開發出這樣的交互式命令行應用,比如代碼生成器。
Sharprompt介紹
Sharprompt是一個基於C#的交互式命令行應用框架,具有如下特點:
- 多平臺支持
- 支持常用的提示方式(普通輸入/密碼/選擇項等)
- 支持基於模型的提示(預覽中)
- 輸入值的驗證
- 使用枚舉值自動生成數據源
- 可定制的符號和顏色模式
- Unicode 支持(多字節字符和表情符號😀🎉)
它提供瞭下列常用API:
Prompt.Input 簡單的輸入提示,返回指定類型數據
Prompt.Password 輸入密碼提示
Prompt.Confirm確認提示,返回bool值
Prompt.Select 單選提示
Prompt.ColorSchema 指定配色方案
更多API說明請參看官方文檔:
https://github.com/shibayan/Sharprompt
Demo
下面就來演示,如何使用Sharprompt生成一個交互式命令行應用。
代碼如下:
Console.OutputEncoding = Encoding.UTF8; Prompt.ColorSchema.Select = ConsoleColor.DarkCyan; var type = Prompt.Select("數據庫類型", new[] { "Oracle", "SQL Server", "MySQL", "PostgreSQL", "MariaDB" },defaultValue: "MySQL", pageSize: 3); var server = Prompt.Input<string>("服務地址"); Prompt.ColorSchema.Answer = ConsoleColor.DarkRed; var name = Prompt.Input<string>("用戶名"); var password = Prompt.Password("密碼"); Console.WriteLine($"你輸入的是 {type} {server} {name} {password}"); var confirm = Prompt.Confirm("繼續嗎"); Console.WriteLine($"你的選擇是 {confirm}!");
結論
可以看到,使用Sharprompt在C#中開發交互式控制臺應用程序是多麼容易
以上就是C#開發交互式命令行應用示例的詳細內容,更多關於C#開發交互式命令行的資料請關註WalkonNet其它相關文章!