Поле c # [NonSerialized] со встроенной инициализацией не инициализируется после десериализации - PullRequest
3 голосов
/ 28 мая 2009

В моем классе есть поле [Несериализовано], которое инициализируется в строке:

[NonSerialized]
private bool running = true;

Однако после десериализации объекта у меня работает == false. Это не то, что я хочу. Могу ли я заставить встроенный инициализат работать для всех полей [NonSerialized]? В противном случае мне придется реализовать ISerializable ...

1 Ответ

3 голосов
/ 28 мая 2009

Вы можете установить его в конструкторе по умолчанию.

Реализация System.Runtime.Serialization.IDeserializationCallback

Он называется после десериализации объекта, поэтому вы можете выполнить дополнительную инициализацию там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...