Есть ли способ узнать, вызывается ли свойство объекта как часть процесса DeSerialization (например, с помощью XmlSerializationReaderXXX
).
Предпосылки: Типичным сценарием является отключение событий и сложных операций в этом случае до завершения инициализации.
Один из найденных мной подходов - «интерпретировать» стек и выяснить, инициирован ли вызов XmlSerializationReaderXXX
, что, на мой взгляд, не так элегантно. Есть ли что-нибудь лучше?
public SomeClass SomeProperty
{
get { ..... }
set
{
this._somePropertyValue = value;
this.DoSomeMoreStuff(); // Do not do this during DeSerialization
}
}
- Обновление -
Как уже упоминал Сальваторе, в чем-то похоже на Как узнать, что вы были загружены через сериализацию XML?