本文整理汇总了C#中System.CommandLine.GetNextArg方法的典型用法代码示例。如果您正苦于以下问题:C# CommandLine.GetNextArg方法的具体用法?C# CommandLine.GetNextArg怎么用?C# CommandLine.GetNextArg使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.CommandLine
的用法示例。
在下文中一共展示了CommandLine.GetNextArg方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCommandLineOptions
/// <summary>
/// get CommandLineOptions, return error message
/// </summary>
private static void GetCommandLineOptions(string[] args, out LocBamlOptions options, out string errorMessage)
{
CommandLine commandLine;
try{
// "*" means the option must have a value. no "*" means the option can't have a value
commandLine = new CommandLine(args,
new string[]{
"parse", // /parse for update
"generate", // /generate for generate
"*out", // /out for output .csv|.txt when parsing, for output directory when generating
"*culture", // /culture for culture name
"*translation", // /translation for translation file, .csv|.txt
"*asmpath", // /asmpath, for assembly path to look for references (TODO: add asmpath support)
"nologo", // /nologo for not to print logo
"help", // /help for help
"verbose" // /verbose for verbose output
}
);
}
catch (ArgumentException e)
{
errorMessage = e.Message;
options = null;
return;
}
if (commandLine.NumArgs + commandLine.NumOpts < 1)
{
PrintLogo(null);
PrintUsage();
errorMessage = null;
options = null;
return;
}
options = new LocBamlOptions();
options.Input = commandLine.GetNextArg();
Option commandLineOption;
while ( (commandLineOption = commandLine.GetNextOption()) != null)
{
if (commandLineOption.Name == "parse")
{
options.ToParse = true;
}
else if (commandLineOption.Name == "generate")
{
options.ToGenerate = true;
}
else if (commandLineOption.Name == "nologo")
{
options.HasNoLogo = true;
}
else if (commandLineOption.Name == "help")
{
// we print usage and stop processing
PrintUsage();
errorMessage = null;
options = null;
return;
}
else if (commandLineOption.Name == "verbose")
{
options.IsVerbose = true;
}
// the following ones need value
else if (commandLineOption.Name == "out")
{
options.Output = commandLineOption.Value;
}
else if (commandLineOption.Name == "translation")
{
options.Translations = commandLineOption.Value;
}
else if (commandLineOption.Name == "asmpath")
{
if (options.AssemblyPaths == null)
{
options.AssemblyPaths = new ArrayList();
}
options.AssemblyPaths.Add(commandLineOption.Value);
}
else if (commandLineOption.Name == "culture")
{
try
{
options.CultureInfo = new CultureInfo(commandLineOption.Value);
}
catch (ArgumentException e)
{
// Error
errorMessage = e.Message;
return;
}
//.........这里部分代码省略.........