У меня есть метод, который преобразует DataTable
в List<T>
. Он работал нормально, пока в моей базе данных MySql
не было столбца bit
. Не удалось преобразовать bit
значение 1
в C#
тип bool
. Поэтому я попытался преобразовать его следующим образом:
Convert.ChangeType(value, prop.PropertyType);
, где value
- это то, что возвращала база данных, и prop
в PropertyInfo
, где будет назначено value
.
Работало нормальноно это не помогло, как были добавлены перечисления.
например, раньше я мог назначить целое число в поле перечисления, но теперь получаю ошибку
Неправильное приведение из 'System.Int32' к 'EnumsAndConstants.QuestionType '.
Я знаю, что одним из решений может быть преобразование value
в тип только тогда, когда происходит TypeCastingException
, но я не хочу, чтобы исключение происходило вообще. Есть ли конкретное решение, которое подходит для всех типов?