2009-12-20 2 views
4

내 단위 테스트에서 동일한 것으로 예상되는 두 개체에 대한 깊은 평등 테스트를 수행해야합니다. 테스트하는 동안 내 코드를 위반하는 시스템 유형에서 흥미로운 필드를 발견했습니다. Exception._xcode이 가장 최근의 것입니다..NET Exception 유형의 _xcode 필드는 무엇입니까?

  1. 그것은 단순히 (감사 리플렉터를) 언급되지 않습니다 사용자 정의 직렬화 생성자를 제외하고, 모든 Exception 생성자에 -532459699로 초기화됩니다 : 여기에이 분야에 대한 사실 몇입니다.
  2. NonSerialized 특성으로 표시되어 있지 않습니다.

이러한 사실을 감안할 때 Exception 개체가 deserialize 된 후에 필드는 0으로 다시 설정됩니다. 이는 확실히 생성자에서 설정 한 것과 다릅니다.

이 필드의 출현 이유는 무엇입니까?

감사합니다.

+0

나는 이것이 똑같이 실망 스럽다는 것을 발견했다. 질문 해 주셔서 고마워요. –

답변

1

이 필드는 COM + 예외 코드를 저장하는 데 사용되며 값은 상수 _COMPlusExceptionCode에 할당됩니다.

+0

@Darin, 나는 뭔가를 이해하지 못합니다. Reflector에 따르면 _COMPlusExceptionCode는 const int입니다. 아무 것도없는 공간을 차지하는 것처럼 보이는 _xcode 멤버 변수의 존재를 보증하지 않습니다. 제발, 저를 시정하십시오. – mark

관련 문제