Является ли конструктор объектов при регидратации - PullRequest
1 голос
/ 16 июня 2011

У меня есть объект, который при создании создает уникальный идентификатор для себя через конструктор. Мой вопрос может быть глупым, но я не могу найти ответ.

Будет ли конструктор вызван на регидратацию из изолированного хранилища? или конструктор вызывается только при использовании ключевого слова new. Я не хочу, чтобы он вызывался, поскольку я хочу, чтобы он вызывался только при первом создании экземпляра.

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Хотя это для .Net 4, а не Silverlight, согласно MSDN: ISerializable Interface , в частности:

Интерфейс ISerializable подразумевает конструктор с подписью конструктор (SerializationInfo информация, StreamingContext контекст). Во время десериализации, текущий конструктор называется только после данных в СериализацияИнфо была десериализуется форматером. В Вообще, этот конструктор должен быть защищен, если класс не запечатан.

... Я бы не ожидал ничего другого на Windows Phone.

2 голосов
/ 16 июня 2011

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

...