Недопустимое исключение значения по умолчанию при разборе параметров с помощью CommandLine lib

Я использовал библиотеку CommandLine для анализа ее передачи для строкового типа, типа int, типа bool, но не для байтового типа, я получил исключение "Bad default value."

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

Почему я получаю это исключение и как это исправить?

1 ответ

Решение

Буквальный 0 является Int32 по умолчанию для компилятора. Вам необходимо указать byte чтобы соответствовать типу собственности.

К сожалению нет byte буквенный символ в C#, поэтому вам нужно привести его явно:

[Option("m", null, DefaultValue = (byte)0, HelpText = "help")]
public byte mm { get; set; }
Другие вопросы по тегам