In my unit tests I need to perform deep equality tests of two objects, which are exp开发者_运维技巧ected to be identical. During the tests I discover some interesting fields in system types that break my code. Exception._xcode is the most recent one. Here are a couple of facts about this field:
- It is initialized to
-532459699in all theExceptionconstructors, except the custom deserialization constructor, where it is simply never mentioned (thanks Reflector). - It is not marked with the
NonSerializedattribute.
Given these facts, the field is reset to 0 after an Exception object is deserialized, which is certainly different from what it is set to in constructors.
I am wondering what is the raison d'être of this field?
Thanks.
This field is used to store COM+ exception codes and it's value is assigned to the constant _COMPlusExceptionCode.
加载中,请稍侯......
精彩评论