Сериализация ReportDocument - PullRequest
       12

Сериализация ReportDocument

0 голосов
/ 20 октября 2011

Я хочу сериализовать ReportDocument с использованием XML-сериализации, но напрасно это мой код:

public String serialiser (ReportDocument rd)
    {
        StringWriter sw= new StringWriter();
        System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(ReportDocument));
        xs.Serialize(sw, rd);
        return sw.ToString();
    }

Примечание: CrystalDecisions.CrystalReports.Engine.ReportDocument.

Я получил следующую ошибку:

An error occurred during the reflection of the type 'CrystalDecisions.CrystalReports.Engine.ReportDocument'.

Как я могу его сериализовать?!

1 Ответ

1 голос
/ 20 октября 2011

Я предполагаю, что тип не помечен как сериализуемый.Вы пробовали делать двоичную сериализацию?

public static byte[] SerializeToBytes<T>(T original)
{
    byte[] results;
    using (MemoryStream stream = new MemoryStream())
    {
        BinaryFormatter binaryFormatter = new BinaryFormatter();
        binaryFormatter.Serialize(stream, original);
        stream.Seek(0, SeekOrigin.Begin);
        results = stream.ToArray();
    }

    return results;
}
...