Выясните, вызывается ли установщик свойств в процессе десерриализации.

Есть ли способ узнать, вызывается ли свойство объекта как часть процесса DeSerialization (например, с помощью XmlSerializationReaderXXX ).

Предпосылки: Типичным сценарием является отключение событий и сложных операций в этом случае до завершения инициализации.

Один из найденных мной подходов - «интерпретировать» стек и выяснить, инициирован ли вызов XmlSerializationReaderXXX , что, на мой взгляд, не так элегантно. Есть ли что-нибудь лучше?

public SomeClass SomeProperty
    {
        get { ..... }
        set
        {
            this._somePropertyValue = value;
            this.DoSomeMoreStuff(); // Do not do this during DeSerialization
        }
    }

- Обновление -

Как уже упоминал Сальваторе, в чем-то похоже на Как узнать, что вы были загружены через сериализацию XML?

9
задан Community 23 May 2017 в 11:52
поделиться