HelpText は、DefaultValue に対して一般化された書式設定関数を使用していました。
問題は (最新の安定版を参照) HelpText.csの 702 行目にありました。
if (option.HasDefaultValue)
{
option.HelpText = "(Default: {0}) ".FormatLocal(option.DefaultValue) + option.HelpText;
}
現在の開発ブランチ (私の意見では使用可能) は、新しいヘルパー プライベート メソッドで解決します(テストの観点からもカバーされています)。
private static string FormatDefaultValue(object value)
{
if (value is bool)
{
return value.ToLocalString().ToLowerInvariant();
}
if (value is string)
{
return value.ToLocalString();
}
var asEnumerable = value as IEnumerable;
if (asEnumerable != null)
{
var builder = new StringBuilder();
foreach (var item in asEnumerable)
{
builder.Append(item.ToLocalString());
builder.Append(" ");
}
return builder.Length > 0 ? builder.ToString(0, builder.Length - 1) : string.Empty;
}
return value.ToLocalString();
}
最新の開発ブランチを使用するには:
git clone -b develop-1.9.8-beta https://github.com/gsscoder/commandline.git commandline-develop
その安定性と最初のリリース後の変更点については、こちらを参照してください。
この手順を使用すると、現在の安定版のフォークにパッチを適用することも簡単になります。