Unserialize иногда возвращает false

Можно определить статического конструктора для класса, который проверит, что тип T является перечислением, и выдайте исключение, если это не. Это - метод, упомянутый Jeffery Richter в его книжном CLR через C#.

internal sealed class GenericTypeThatRequiresAnEnum<T> {
    static GenericTypeThatRequiresAnEnum() {
        if (!typeof(T).IsEnum) {
        throw new ArgumentException("T must be an enumerated type");
        }
    }
}

Тогда в методе синтаксического анализа, можно просто использовать Перечисление. Синтаксический анализ (typeof (T), вход, верный) для преобразования от строки до перечисления. Последний истинный параметр для того, чтобы игнорировать регистр входа.

5
задан hakre 29 October 2012 в 12:41
поделиться

1 ответ

У меня были подобные проблемы. Оказывается столбцом в DB, который хранил сериализированный массив, имел сопоставление: latin1_swedish_ci

я изменил сопоставление сериализированного столбца данных к: utf8_bin и re-svaed данные и вуаля - проблема решена.

0
ответ дан 18 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: