成員是否有.NET(C#)的方式時,使用調試器知道一個對象是目前在什麼收藏。跟蹤哪些收藏類的實例/對象是
我有一個情況的類實例正在進出不同的列表和陣列,並且正試圖追蹤它當前在哪個時間點的哪些集合,即當我打斷點時。
我能想到的唯一解決方案是編碼某種類型的跟蹤器類。希望調試器可能有辦法跟蹤這一點。
編輯:我想它有點像您可以在調試器中展開集合並查看成員的方式,除非我想做相反的事情。
謝謝。
成員是否有.NET(C#)的方式時,使用調試器知道一個對象是目前在什麼收藏。跟蹤哪些收藏類的實例/對象是
我有一個情況的類實例正在進出不同的列表和陣列,並且正試圖追蹤它當前在哪個時間點的哪些集合,即當我打斷點時。
我能想到的唯一解決方案是編碼某種類型的跟蹤器類。希望調試器可能有辦法跟蹤這一點。
編輯:我想它有點像您可以在調試器中展開集合並查看成員的方式,除非我想做相反的事情。
謝謝。
聽起來好像你會從使用observer pattern那裏受益,它會創建一個「對象之間的一對多依賴關係,以便當一個對象改變狀態時,它的所有依賴關係會被自動通知和更新」。基本上,每當一個項目被添加到一個集合中時,你就有一個接收通知的對象。
.NET 4內置了這種模式的實現。檢查出Observer Design Pattern in .NET。
接口文檔:
這也可能是值得看ObservableCollection<T>
類,並看看是否能夠提供您所需要的功能。它在.NET 3中可用。
感謝穴居人,ObservableCollection似乎做我需要的東西。我會給它一個鏡頭。 – Matt 2011-04-04 06:32:01
我不認爲有這樣的內置任何東西,但它會很容易創建。只需將表達式添加到Watch窗口,每個集合一個。
或者在您的代碼中創建一個用於搜索集合並返回(例如,一串字符串(集合名稱))的函數 - 並從Watch窗口調用該函數。
謝謝,我會試一試。 – Matt 2011-04-04 05:57:07
可能的重複http://stackoverflow.com/questions/707421/track-all-object-references-in-c – BrokenGlass 2011-04-03 22:51:58
聽起來像一場噩夢。祝你好運! – ChaosPandion 2011-04-03 22:55:44