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其它相關文章!

推薦閱讀: