2009-12-20 61 views
4

在我的單元測試中,我需要對兩個對象進行深度相等測試,這兩個對象預期是相同的。在測試過程中,我發現系統類型中一些有趣的字段會破壞我的代碼。 Exception._xcode是最近的一個。這裏有幾個關於這個領域的事實:什麼是.NET異常類型的_xcode字段?

  1. 它被初始化爲-532459699所有Exception構造,除了自定義反序列化的構造,它僅僅是從未提及(感謝反射)。
  2. 它沒有標記爲NonSerialized屬性。

鑑於這些事實,在Exception對象被反序列化後,該字段將重置爲0,這與在構造函數中設置的值完全不同。

我想知道這個領域存在的理由是什麼?

謝謝。

+0

我發現這同樣令人沮喪。感謝您提出問題。 – 2013-07-29 05:26:40

回答

1

此字段用於存儲COM +異常代碼,並將其值分配給常量_COMPlusExceptionCode

+0

@Darin,我不明白。根據Reflector _COMPlusExceptionCode是一個const int。它不保證_xcode成員變量的存在,它看起來就像佔用它的空間。請糾正我。 – mark 2009-12-20 10:07:05