2

基本的に、コマンド ラインで「/?」を使用して呼び出されるアプリがあることは知っています。コマンドラインからパラメーターを使用してアプリを呼び出す方法のフォーマットされたリストを吐き出します。また、これらのアプリは、渡された特定のパラメーターでのみプログラムを実行できることをユーザーに警告するボックスをポップアップし、この詳細な形式のパラメーターを提供することもあります (コマンド プロンプト出力と同様)。

彼らはどのようにこれを行うのですか (/? はポップアップボックスよりも重要です)?

4

2 に答える 2

6

このMainメソッドはstring[]、コマンド ライン引数でパラメーターを受け取ります。メソッド
を呼び出すこともできます。Environment.GetCommandLineArgs

次に、配列に が含まれているかどうかを確認できます"/?"

于 2010-09-22T14:55:45.847 に答える
2

NDesk.Optionsを見てみてください。これは、引数の解析を提供する単一ソース ファイルの組み込み可能な C# ライブラリです。引数をすばやく解析できます。

public static void Main(string[] args)
{
   string data = null;
   bool help   = false;
   int verbose = 0;

   var p = new OptionSet () {
      { "file=",     "The {FILE} to work on",             v => data = v },
      { "v|verbose", "Prints out extra status messages",  v => { ++verbose } },
      { "h|?|help",  "Show this message and exit",        v => help = v != null },
   };
   List<string> extra = p.Parse(args);
}

ヘルプ画面をプロ並みの形式で簡単に書き出すこともできます。

if (help)
{
   Console.WriteLine("Usage: {0} [OPTIONS]", EXECUTABLE_NAME);
   Console.WriteLine("This is a sample program.");
   Console.WriteLine();
   Console.WriteLine("Options:");
   p.WriteOptionDescriptions(Console.Out);
}

これにより、次のような出力が得られます。

C:\>program.exe /?
Usage: program [OPTIONS]
This is a sample program.

Options:
  -file, --file=FILE         The FILE to work on
  -v, -verbose               Prints out extra status messages
  -h, -?, --help             Show this message and exit
于 2010-09-22T15:45:51.757 に答える