簡體   English   中英

訂閱Lambda表達式與方法名稱的Prism EventAggregator

[英]Prism EventAggregator subscribing with Lambda expression vs Method name

我通過使用以下方法訂閱eventAgrregator:eventAggregator.GetEvent.subscrinbe(..)

如果我使用lambda表達式,則可能不會調用它,因為eventAggregator使用弱引用,並且為什么要使用它。 但是,如果提供方法名稱,則可以使用。

你能解釋一下嗎? (注意-不會收集調用eventaggregator.getevent的對象)

好。 我想我找到了問題。 在我的lambda表達式中,我錯誤地使用了局部變量(。

它使編譯器創建了一個包含變量的新對象,並將其作為目標對象提供給eventAggregator。 然后,由於eventAggregator使用弱引用,GC將其刪除。

因此,只要我不在lambda表達式中使用局部變量,目標將是我的原始對象,並且可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM