Этот XmlWriter не поддерживает закодированные данные base64

У меня есть класс как это:

public class Data
{
    public string Name { get; set; }
    public int Size { get; set; }
    public string Value { get; set; }

    [NonSerialized] public byte[] Bytes;
}

Когда a List<Data> поражает метод сериализации ниже, он иногда умирает с

InvalidOperationException "Этот XmlWriter не поддерживает закодированные данные base64".

Как Вы видите, я ничего непосредственно не кодирую, просто с помощью механизма сериализации по умолчанию.

private static XDocument Serialize<T>( T source )
{
    var target = new XDocument( );
    var s = new XmlSerializer( typeof( T ) );
    using( XmlWriter writer = target.CreateWriter( ) )
    {
        s.Serialize( writer, source );
    }
    return target;
}

Данные будут иметь Name свойства, которые являются английскими словами, разделенными символами нижнего подчеркивания. Value свойство будет подобным кроме с добавленными математическими операторами или числами (они - математические выражения).

Кто-либо знает то, что вызывает его и как я могу исправить его?

5
задан µBio 13 August 2010 в 21:29
поделиться