C#通過System.CommandLine快速生成支持命令行的應用程序_第1頁
C#通過System.CommandLine快速生成支持命令行的應用程序_第2頁
C#通過System.CommandLine快速生成支持命令行的應用程序_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第C#通過System.CommandLine快速生成支持命令行的應用程序一直以來,當我們想讓我們的控制臺程序支持命令行啟動時,往往需要編寫大量代碼來實現這一看起來很簡單的功能。雖然有一些庫可以簡化一些操作,但整個過程仍然是一個相當枯燥而乏味的過程。

今天,我這里要介紹一個新的命令行庫:System.CommandLine,通過他我們可以幾乎無需任何額外的編碼就可以獲得命令行的支持,它能大幅減少程序員花在提供命令行API(CLI)上的時間,改善CLI程序用戶的體驗,讓開發者能專注于編寫應用程序。

目前這個庫還是預覽版本,要體驗的話需要可以使用如下庫:System.CommandLine.DragonFruit。首先以一個簡單的示例來演示它的功能。

staticvoidMain(stringinput,stringoutput)

Console.WriteLine($"Input:{input},Output:{output}");

}

這里我們并沒有要顯式使用這個庫,只需要將Main函數的入參改成我們需要使用的類型,程序便自動實現了命令行的支持。我們甚至可以用help查看程序的命令行的配置方式

ConsoleApp1.exe--help

Usage:

ConsoleApp1[options]

Options:

--inputINPUTinput

--outputOUTPUToutput

--versionDisplayversioninformation

可見,它能自動根據Main函數的參數自動解析出命令行的格式,并生成幫助文檔。

接著,我們再來看看命令行的使用:

ConsoleApp1--inputii--outputout

Input:ii,Output:out

完美的進行了命令行的解析,它也可以讀取xml注釋,實現更加復雜的說明。

///summary

///Convertsanimagefilefromoneformattoanother.

////summary

///paramname="input"Thepathtotheimagefilethatistobeconverted./param

///paramname="output"Thenameoftheoutputfromtheconversion./param

///paramname="xCropSize"Thexdimensionsizetocropthepicture.Thedefaultis0indicatingnocroppingisrequired./param

///paramname="yCropSize"Thexdimensionsizetocropthepicture.Thedefaultis0indicatingnocroppingisrequired./param

staticvoidMain(stringinput,stringoutput,intxCropSize=0,intyCropSize=0)

}

生成的幫助輸出效果如下:

ConsoleApp1:

Convertsanimagefilefromoneformattoanother.

Usage:

ConsoleApp1[options]

Options:

--inputINPUTThepathtotheimagefilethatistobeconverted.

--outputOUTPUTThenameoftheoutputfromtheconversion.

--x-crop-sizeX-CROP-SIZEThexdimensionsizetocropthepicture.Thedefaultis0indicatingnocroppingisrequired.

--y-crop-sizeY-CROP-SIZEThexdimensionsizetocropthepicture.Thedefaultis0indicatingnocroppingisrequired.

--versionDisplayversioninformation

相比傳統的命令行庫,這個庫的優勢非常明顯,我們可以幾乎不編寫任何代碼就可以獲得命令行程序的支持。對于復雜的命令行程序來說,可能這里的方式并不能滿足需求。System.CommandLine雖然也支持像傳統命令行的庫那樣編寫復雜的命令行支持程序,但這不在本文的介紹范圍內。感興趣的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論