2012-04-30 46 views
0

http://msdn.microsoft.com/en-us/library/xt0a1s34(v=vs.100).aspx如何將null傳遞給WeakReference構造函數?

參數

目標

類型:System.Object

跟蹤或空的對象。

至於我能理解這一點,就意味着「空」是WeakReference的對象的有效參數...

我看到的是如下問題:提取值的時候,我會檢查目標不是空...如果不是 - 將使用它作爲一個對象。但是如果「null」作爲原始目標被傳遞,那麼weakReference對象的屬性「Target」不會給我提供信息:對象已經被垃圾收集或者它始終爲空。

問題:如果「目標」爲空,我怎麼能理解它,因爲原始對象也是空的?

謝謝。

+0

我不指望你能告訴'null'之間的區別,因爲目標是被收集的而'null'是因爲首先沒有目標。爲什麼你需要分辨差異? – Gabe

+0

因爲我正在考慮將'null'存儲爲值,請在此處查看更多詳細信息:http://stackoverflow.com/questions/10378161/can-null-be-inserted-into-cache – Budda

回答

0

您可能想嘗試IsAlive屬性。這是一個布爾值,它會告訴你指向的對象是否已被收集。

+0

IsAlive是'false'時立即弱對象是用'空'目標創建的。 – Budda