Stavo solo scrivendo un'utilità della console e ho deciso di utilizzare NDesk.Options per l'analisi della riga di comando. La mia domanda è, come faccio ad imporre le opzioni da riga di comando richieste?Come applicare le opzioni della riga di comando richieste con NDesk.Options?
vedo nel docs che:
opzioni con un valore desiderato (aggiungono '=' al nome dell'opzione) o un valore opzionale (aggiungere ':' al nome dell'opzione).
Tuttavia, quando inserisco uno =
alla fine del nome dell'opzione non c'è differenza di comportamento. Idealmente, il metodo Parse genererebbe un'eccezione.
C'è qualcos'altro che devo fare?
Ecco il mio codice di prova:
class Program
{
static void Main(string[] args)
{
bool show_help = false;
string someoption = null;
var p = new OptionSet() {
{ "someoption=", "Some String Option", v => someoption = v},
{ "h|help", "show this message and exit", v => show_help = v != null }
};
List<string> extra;
try
{
extra = p.Parse(args);
}
catch (OptionException e)
{
System.Console.Write("myconsole: ");
System.Console.WriteLine(e.Message);
System.Console.WriteLine("Try `myconsole --help' for more information.");
return;
}
if (show_help)
{
ShowHelp(p);
return;
}
System.Console.WriteLine("==================");
System.Console.WriteLine(someoption);
}
static void ShowHelp(OptionSet p)
{
System.Console.WriteLine("Usage: myconsole [OPTIONS]");
System.Console.WriteLine();
System.Console.WriteLine("Options:");
p.WriteOptionDescriptions(System.Console.Out);
}
}
Ho lo stesso problema. Le giunzioni NDesk.Options non generano eccezioni. –