Dot-Net

何時使用 ExternallyControlledLifetimeManager?

  • December 30, 2012

我正在瀏覽 Unity 中可用的不同 LifetimeManager,想知道我們什麼時候使用 ExternallyControlledLifetimeManager?有人可以給我一個現實生活中的例子嗎?MSDN 文件說“持有對其託管實例的弱引用的 LifetimeManager”..

開發人員如何管理實例以及何時應該使用這樣的生命週期管理器?您對如何以及何時使用它的想法對我和其他人來說會很容易理解。謝謝!

如果您要註冊由其他框架或庫創建的對象並且您無法控制其生命週期,例如第三方庫提供的單例,這可能會很有用。

因為容器只保留一個弱引用,如果沒有任何強引用,GC 將刪除該單例。IMO,只有在您無法管理實例的生命週期時才應該使用它。

引用自:https://stackoverflow.com/questions/5088779