commandlineparser / commandlineparser/commandline

Option without value should throw an error.

オープン
#861 コメント 3 件 リアクション 3 件 担当者 0 名 GitHub で見る
主要言語
C#
スター
4.8k
フォーク
478
PR マージ指標
30日以内にマージされた PR はありません

説明

If I have a string option and it is called without a value, no error is thrown. This is what I would expect.

```csharp
using CommandLine;

namespace cli
{
public class Program
{
static void Main(string[] args)
{
CommandLine.Parser.Default.ParseArguments(args)
.WithParsed(options => RunOptions(options))
.WithNotParsed(error => ErrorAndExit(error));
}

static void RunOptions(Options options)
{

}

static void ErrorAndExit(IEnumerable error)
{ }
}

public class Options
{
[Option("value", Required = false, HelpText = "A value.")]
public string Value { get; set; }
}
}
```
If i call this command line i get no error.

```bash
cli --value # should throw an error
cli --value blah # ok, this is what i want
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Options クラスと --value の例を使用して、CommandLine.Parser.Default.ParseArguments で動作を再現します。オプション値の解析エントリーポイントを追跡し、既存の parser テストを見つけます。完了条件は、string 値がない --value が WithNotParsed を呼び出し、一方で --value blah は引き続き正常に解析されることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
csharp
領域
cli
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。