0

引数を受け取る必要があるコンソール アプリケーションがあります。アプリは、コマンド ライン パーサー ライブラリを使用して引数を解析します。

アプリケーションは、16 進数の引数を受け取り、それらを符号なし整数に変換できる必要があります。

たとえば、これが Option クラスの場合

public class CommandLineOptions
{
   [Option('l', "crcLocation", Required = false, HelpText = "Address where the CRC will be inserted.  Must be outside of the application image")]
   public UInt32 CrcLocation { get; set; }
}

その後、アプリはで起動できるはずです

app.exe -l 0x0000000F

したがってCrcLocation、15に設定します

コマンド ライン パーサー ライブラリで 16 進数の文字列を整数に変換する方法はありますか、それともアプリケーションで手動で行う必要がありますか?

4

1 に答える 1

1

ライブラリのソース コードから、メソッドを内部的に使用しConvert.ChangeTypeて変換を実行しますが、残念ながら 16 進数はサポートされていません。参照: https://github.com/gsscoder/commandline/blob/master/src/CommandLine/Core/TypeConverter.cs#L66

あなたの最善の策は、文字列を公開UInt32.TryParseし、正しい NumberStyles フラグを使用して自分で変換を実行することです。

于 2015-08-25T18:57:00.760 に答える