NDesk.Options을 사용하여 C# 명령 줄 프로그램의 명령 줄 인수를 구문 분석합니다. 프로그램이 성공적으로 종료하지 못하게하고, 사용자가 예상치 못한 주장을 포함하면 도움말 출력을 표시하는 것을 제외하고는 정상적으로 작동합니다.NDesk.Options - 잘못된 인수 감지
내가 thusly 히 옵션을 구문 분석하고이 코드를
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;
, 내가 잘못 인수를 사용하는 경우, 그러한 그 다음 NDesk.Options가 OptionException을 던질 것이며, 모든 것이 잘 될 것입니다 후 =myfilter
없이 --filter
를 지정한다. 그러나 내 목록과 일치하지 않는 인수 (예 : --someOtherArg
)를 전달하면 OptionException이 throw 될 것으로 예상됩니다. 그러나 이것은 일어나지 않습니다. 파서는이를 무시하고 트럭 운전을 계속합니다.
NDesk.Options에서 예기치 않은 args를 감지하는 방법이 있습니까?
내가 누락 한 핵심 요소입니다. 감사! – RationalGeek