Как XmlReader'ом прочитать Enum ???
От: Аноним  
Дата: 08.07.10 19:12
Оценка:
В общем есть такое перечисление:представление.
    public enum UserType
    {
        Administrator,
        User
    }

Есть класс с открытым { get; set; } свойством типа UserType. Этот класс сериализуется в XML файл классом XmlSerializer. При этом свойство перечислимого типа она записывает как строковое, т.е. как "Administrator" и "User". Попробовал прочитать из XML-файла значение этого свойства так:
using (StreamReader sr = new StreamReader(file))
{
    XmlTextReader reader = new XmlTextReader(sr);
    reader.WhitespaceHandling = WhitespaceHandling.Significant;  //так инициализируется XmlTextReader в XmlSerializer
    reader.Normalization = true;                                 //подсмотрел Reflector'ом

    ...
    header.Type = 
          (UserType)reader.ReadElementContentAs(typeof(UserType), null); //Content cannot be converted to the type TestingStaff.UserType.
    ...
}

Однако вылетает исключение "Content cannot be converted to the type TestingStaff.UserType". Вопрос как прочитать значение этого свойства из XML файла без дополнительных преобразований? Можно конечно прочитать строку и преобразовать её к требуемому значению, но XmlSerializer как-то считывает это значение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.