我有一个C ++ / CLI应用程序,我为客户公开了订阅API。 在这个API中,它们给了我一个C#回调(Action),我一直在从我的应用程序调用它来发布一些数据。
问题是:客户说当他们的对象超出范围时,GC没有调用他们的对象因为他们给我的回调是他们的成员变量而我的应用程序有强烈的引用它,这是真的,我将此回调存储在我的应用中。
我知道在这种情况下这将是非常常见的问题。但我不确定如何解决这个问题
所以我需要建议:
我的应用程序应如何处理此回调,以便它不会阻止GC处理客户端对象。
如果需要更多详细信息,请发表评论。