假設包含以下屬性的'MyModel'類:ASP.NET垃圾回收:是否引用靜態類屬性危險?
public List ListOfAlbumsTitles => AlbumsHelper.ListOfAlbumsTitles;
AlbumsHelper
是一個靜態類。這是否意味着,由於引用靜態類屬性,MyModel的對象不會被自動收集?
假設包含以下屬性的'MyModel'類:ASP.NET垃圾回收:是否引用靜態類屬性危險?
public List ListOfAlbumsTitles => AlbumsHelper.ListOfAlbumsTitles;
AlbumsHelper
是一個靜態類。這是否意味着,由於引用靜態類屬性,MyModel的對象不會被自動收集?
不,MyModel
的實例將被處置罰款。什麼MyModel
商店是一個恰好在其他地方正在使用的東西(即在AlbumsHelper
)的參考。
引用是垃圾收集的單向方式。因此,只要Bar
存在,從Foo
到Bar
的引用將使Foo
保持有效。反過來意味着什麼都沒有。
你已經得到了相反的結果。
只要沒有參考到那個對象就可以收集任何對象。傳出參考對物體壽命沒有影響。
試想一下,如果不是這樣,會發生什麼 - 垃圾收集器永遠無法收集任何東西,也沒有null
退房手續所有它的其他對象的引用。這不是很有用。
不,邏輯是另一種方式,如果AlbumsHelper不是一個靜態類,這個任務將阻止它被收集。但是因爲這個類是靜態的,所以這並不重要。
是的,這是非常明顯的。 thx的詳細答案! – 52hertz