Разбивка большого класса для сериализацииC#

Место общения программистов C#
Anonymous
Разбивка большого класса для сериализации

Сообщение Anonymous »

У меня проблема: у меня большой класс, в этом классе есть 4 свойства, которые содержат другой класс, и этот класс содержит различные списки и модели (простой класс со свойствами)
Класс выглядит так:

Код: Выделить всё

[Serializable]
public class BackupProject
{
public DocumentSet Documents;
public CompareSet MetaData;
public RelationshipSet Relationships;
public Dictionary DocumentData;
}
Для сериализации я использую:

Код: Выделить всё

using (FileStream stream = File.Open(fullPath + "/" + backupFile, FileMode.Create))
{
stream.Position= 0;
var bformatter = new BinaryFormatter();
using (ZipOutputStream zipStream = new ZipOutputStream(stream))
{
zipStream.SetLevel(9);
ZipEntry zipEntry = new ZipEntry("BackupProject") {DateTime = DateTime.Now};
zipStream.PutNextEntry(zipEntry);
bformatter.Serialize(zipStream, documents);
}
}
Как видите, я попробовал сжатие данных, но все равно получаю:


System.Runtime.Serialization.SerializationException «Внутренний массив
не может расширяться до элементов, превышающих Int32.MaxValue».


Это почему мне нужно разбить этот класс на части, но я понятия не имею, как это сделать, ведь содержание такого класса нерегулярно.

Подробнее здесь: https://stackoverflow.com/questions/331 ... ialization

Вернуться в «C#»