此問題可能只能由CM貢獻者回答。Caliburn.Micro 2.0和IViewAware實施問題
ViewAware
是IViewAware
的基本實現,它使用內部實用程序類WeakValueDictionary
來緩存視圖。 IViewAware
的外部實現者無法訪問此類。
CM 1.5.x依靠Dictionary<object, object>
來實現緩存。
我不能在代碼中看到CM 2.0中的任何依賴關係,在執行IViewAware
時需要使用WeakValueDictionary
。
我只是想確保我不會錯過某些微妙的東西?執行IViewAware
時是否必須使用WeakValueDictionary
,還是Dictionary<object, object>
仍然足夠?
我相信這是視圖緩存的結果,並且能夠在某些使用情況下禁用它,以及在其他平臺(wp/Silverlight)中使用WeakValueDirectionary的可用性。舊的codeplex網站對此進行討論的時間太長了。他們希望有一些能夠防止內存泄漏的可能性。有一張票打開和關閉與CM2.0納入變化有關的細節 – mvermef 2014-11-03 22:24:34
欣賞背景。不要假設你知道在實現IViewAware時是否仍然可以使用Dictionary