问题
In my unit tests I need to perform deep equality tests of two objects, which are expected 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.
回答1:
This field is used to store COM+ exception codes and it's value is assigned to the constant _COMPlusExceptionCode.
来源:https://stackoverflow.com/questions/1935166/what-is-the-xcode-field-of-the-net-exception-type