6
我正在使用NDesk.Options來解析C#命令行程序的命令行參數。它工作正常,但我希望我的程序退出失敗,並顯示幫助輸出,如果用戶包含我沒有想到的參數。NDesk.Options - 檢測無效參數
我正是如此解析選項:
var options = new OptionSet {
{ "r|reset", "do a reset", r => _reset = r != null },
{ "f|filter=", "add a filter", f => _filter = f },
{ "h|?|help", "show this message and exit", v => _showHelp = v != null },
};
try
{
options.Parse(args);
}
catch (OptionException)
{
_showHelp = true;
return false;
}
return true;
有了這個代碼,如果我使用不當的參數,如指定--filter
沒有=myfilter
後,再NDesk.Options將拋出OptionException,一切都會好起來的。但是,如果我傳入的參數與我的列表不匹配,例如--someOtherArg
,我也希望拋出一個OptionException異常。但是這並沒有發生。解析器只是忽略它並繼續進行卡車運輸。
有沒有辦法使用NDesk.Options檢測意外的參數?
這是我失蹤的關鍵。謝謝! – RationalGeek