C# komut satırı programı için komut satırı bağımsız değişkenlerini ayrıştırmak için NDesk.Options kullanıyorum. İyi çalışıyor, programımın başarısız olarak çıkmasını istemiyorum ve kullanıcı beklemediğim argümanları içeriyorsa yardım çıktısını göster.NDesk.Options - geçersiz bağımsız değişkenleri algıla
Ben thusly seçenekleri ayrıştırma ediyorum: Bu kod ile
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;
, ben yanlış bir tartışma kullanırsanız, bu tür daha sonra NDesk.Options bir OptionException atacağım ve her şey iyi olacak sonra =myfilter
olmadan --filter
belirterek olarak. Bununla birlikte, --someOtherArg
gibi listemizle eşleşmeyen bir argümandan geçersem, atılacak bir OptionException bekledim. Ama bu gerçekleşmez. Çözümleyici bunu görmezden gelir ve kamyona devam eder.
NDesk.Options ile beklenmedik hata algılamanın bir yolu var mı?
Eksik olduğum anahtar parça budur. Teşekkürler! – RationalGeek