Как изменить порядок использования Десериализации BinaryFormatter в C#?

Мое личное отношение в Вашем примере - то, что маршрут промежутка является более соответствующим, поскольку это соответствует стандартам спецификации XHTML. Однако я вижу argment для пользовательских атрибутов, но я думаю, что они добавляют уровень беспорядка, который не необходим.

5
задан djdd87 28 October 2009 в 12:55
поделиться

2 ответа

Если вам нужно явно контролировать порядок сериализации и десериализации ваших объектов, я предлагаю вам реализовать Интерфейс ISerializable для A:

public class ClassA : ISerializable
{
    private ClassB _dependency;

    public ClassA(SerializationInfo information, StreamingContext context)
    {
        _dependency 
            = (ClassB)information.GetValue("_dependency", typeof(ClassB));

        // TODO: Get other values from the serialization info.
        // TODO: Set up stuff from dependent object.
    }

    public SerializationInfo GetObjectData()
    {
        information.AddValue("_dependency", _dependency, typeof(ClassB));

        // TODO: Add other fields to the serialization info.
    }
}
3
ответ дан 14 December 2019 в 19:17
поделиться

Я бы посоветовал просто использовать метод, помеченный [OnDeserialized] , для обработки любой инициализации после сериализации, которая вам требуется, и не беспокоиться о порядке, в котором они десериализуются .

1
ответ дан 14 December 2019 в 19:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: