weak-events

    3熱度

    1回答

    今天我想在下面的情形: 我有兩個類A和B. 暴露出的事件E. 乙贊同這一事件「 E「,使用弱事件處理程序」W「。 一段時間沒人後持有到B的任何引用,但GC還沒有踢。 雖然B尚未被GC收集和A提出了「E」,將微弱的事件處理函數中調用? 我在想是的,但我很好奇,如果我沒有失去一些東西。

    1熱度

    2回答

    我在讀「C#語言」,第四版,它談論WeakReference和Weak Event Pattern: CHRISTIAN NAGEL:內存泄漏往往是從事件的錯誤使用造成的。如果客戶端對象附加到事件但不與其分離,並且不再使用對客戶端對象的引用,則客戶端對象仍然無法由垃圾回收器回收,因爲發佈者的引用仍然存在。 (1)客戶端對象不再使用時的事件分離,(2)使用持有代理的WeakReference類的自定

    2熱度

    1回答

    在Windows.Forms應用程序中使用這裏所述http://wekempf.spaces.live.com/blog/cns!D18C3EC06EA971CF!373.entry的弱事件時,WeakEventManager會泄漏WeakReference對象。 我認爲這是因爲沒有WPF消息循環,CleanupOperation從不執行,雖然ScheduleCleanup在WeakEventMa

    15熱度

    3回答

    的WindowsBase DLL定義IWeakEventListener事件與總結: 提供事件監聽是期望通過WeakEvent模式和System.Windows.WeakEventManager接收事件類的支持。 這個模糊的描述並沒有描述'WeakEvent模式'實際上是什麼。 那麼,這是什麼模式,爲什麼它被使用,並且它在WPF應用程序之外有用? 編輯已經有一些很好的答案,但沒有人談論過這種模式在

    25熱度

    2回答

    是否有使用.NET的WeakEventManager的弱事件的示例實現? 我試圖按照文檔中的「對繼承者的說明」來實現它,但它很模糊。例如,我無法弄清楚如何在自定義管理器中從我的靜態AddListener函數調用ProtectedAddListener。

    5熱度

    1回答

    我很好地實現了Silverlight的弱事件模式,以避免內存泄漏。 似乎有一些實現,但代碼不是微不足道的,很難知道哪一個是正確的。我找不到任何來自微軟的官方建議。 如果可能,我使用簡單的語法。 乾杯。