2016-08-02 9 views
1

のlibコマンドラインによるオプションを解析するとき、私は例外"Bad default value."悪いデフォルト値例外私はそれが文字列型、int型、ブール型のために渡すが、それはバイト型のために渡さないで解析するためのCommandLineライブラリを使用していた

[Option("m", null, DefaultValue = 0, HelpText = "help")] 
    public byte mm { get; set; } 
を持っています

なぜこの例外が発生し、それを修正するのですか?

答えて

3

リテラル0は、コンパイラのデフォルトでInt32です。プロパティのタイプに合わせてbyteを指定する必要があります。 C#で残念ながら

there is no byte literal symbol、明示的にキャストする必要がありますので:

[Option("m", null, DefaultValue = (byte)0, HelpText = "help")] 
public byte mm { get; set; } 
+0

それが機能するようになりました私は、新しいC#の開発者ですので、私は前にこの情報がわかりません – developer

関連する問題