C # Как контролировать процесс сериализации пользовательских классов? - PullRequest
0 голосов
/ 16 октября 2018

Кто-нибудь знает, как я могу контролировать процесс десериализации пользовательского класса, когда он был сериализован с двоичным форматером?

У меня есть мой сериализуемый класс Dat, который содержит 2 поля:

class Dat
{
    uint A;
    [field: NonSerialized]
    object Data;
    string File;
}

То, что я хочу сделать, - это когда десериализован класс, у меня нет объектных данных, и я просто хочу загрузить его после его десериализации следующим образом (в классе Dat):

void AfterDeserialize()
{
    Data = File.ReadAllBytes(File);
}

Конечно, я мог быпросто десериализовать класс и загрузить его потом, но это почти невозможно, потому что он находится в сложной древовидной структуре.Так кто-нибудь знает, как получить событие или метод, вызываемый после десериализации?

...