Кто-нибудь знает, как я могу контролировать процесс десериализации пользовательского класса, когда он был сериализован с помощью двоичного форматирования?
У меня есть сериализуемый класс Dat, который содержит 2 поля:
class Dat
{
uint A;
[field: NonSerialized]
object Data;
string File;
}
Что я хочу сделать, так это когда класс десериализован, у меня нет данных объекта, и я просто хочу загрузить его после его десериализации следующим образом (в классе Dat):
void AfterDeserialize()
{
Data = File.ReadAllBytes(File);
}
Конечно, я мог бы просто десериализовать класс и затем загрузить его, но это почти невозможно, потому что он находится в сложной древовидной структуре. Так кто-нибудь знает, как получить событие или метод с вызовом после десериализации?
[OnDeserializing]
. Также посмотрите здесь обсуждение различий между интерфейсом обратного вызова десериализации и атрибутами: ideserializationcallbackondeserialization-method-after-the-ondeserialized-event?forum=netfxremoting" rel="nofollow noreferrer">social.msdn.microsoft.com/Forums/en-US/ Надеюсь, это поможет... - person   schedule 16.10.2018