В моих модульных тестах мне нужно выполнить тесты глубокого равенства двух объектов, которые, как ожидается, будут идентичными. Во время тестов я обнаружил некоторые интересные поля в типах систем, которые нарушают мой код. Exception._xcode
является самым последним. Вот несколько фактов об этом поле:
- Инициализируется до
-532459699
во всех конструкторах Exception
, кроме пользовательского конструктора десериализации, где он просто никогда не упоминается (спасибо Reflector).
- Не помечен атрибутом
NonSerialized
.
Учитывая эти факты, поле сбрасывается в 0 после десериализации объекта Exception
, что, безусловно, отличается от того, что установлено в конструкторах.
Мне интересно, в чем смысл этого поля?
Спасибо.