Разбивка большого класса для сериализации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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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