这段代码会导致内存泄漏吗?

时间:2018-05-25 07:36:59

标签: c# memory-leaks

我有一个社交网络,我可以在帖子上发表评论。我已经使用ReactionController实现了这一点,该ReactionController处理一个帖子的API调用,该帖子有一个指示API调用已完成的事件。

我的代码是这样的(在我的"时间轴"控制器,当UI要求我做出反应时):

public void PlaceReaction(string reaction) {
    var reactionController = new ReactionController(post);
    reactionController.DishUpdatedEvent += (updatedPost) => {
        // Notify the UI
        UIThreadDispatcher.Invoke(() => SinglePostUpdatedEvent?.Invoke(updatedPost));
    };

    reactionController.PlaceReaction(reaction);
}

并在我的ReactionController中:

// Saved to API
UIThreadDispatcher.Invoke(() => PostUpdatedEvent?.Invoke(_post));

我担心我自由使用事件可能会导致ReactionController保留在内存中,但我只希望它在调用期间保留在内存中,直到事件被触发。这会像我想要的那样,还是我有内存泄漏?

0 个答案:

没有答案