У меня есть такой класс:
public class Data
{
public string Name { get; set; }
public int Size { get; set; }
public string Value { get; set; }
[NonSerialized] public byte[] Bytes;
}
Когда 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
будет аналогичным, за исключением добавления математических операторов или чисел (они являются математическими выражениями).
Кто-нибудь знает, что вызывает это и как я могу это исправить?