


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遠程辦公考勤流程
- 電子商務客戶投訴問題整改清單及整改措施
- 疫情期間幼兒園大班教師環境衛生工作計劃
- 化工廠施工應急預案組織機構及職責
- 河南省安陽市2025屆九年級下學期第三次聯考數學試卷(含解析)
- 2025年幼兒園中班秋季班務目標實施計劃
- 部編新人教版二年級下冊語文課前預習計劃
- 廣告傳媒風險控制部2025年度工作計劃
- 監理機構人員管理職責研究
- 燃氣入戶安全事故預防計劃
- 社會責任工作管理制度
- 中國當代文學專題-003-國開機考復習資料
- DB37∕T 5016-2021 民用建筑外窗工程技術標準
- 全國202X年4月自學考試公文寫作與處理試題和答案解析.doc
- 杜邦安全理念課件
- 《房屋面積測算技術規程》DGJ32TJ131-2011
- 管道無損檢測施工專項方案
- 先進集體申報表
- 酒店工程部考核表
- 工程塑料 第六章聚甲醛
- 10kV配電變壓器缺相運行分析
評論
0/150
提交評論