C# 删除回调C

C# 删除回调C,c#,callback,C#,Callback,我有一个接受回调作为参数的方法 public void SaveSomeData (int value, Action<SomeDataModel> callback) 这是客户端上的一种方法,在该方法中,我聚合特定时间内的所有调用,然后向服务器发送单个请求。一旦服务器发送响应,我就使用回调通知调用者。这一切都很好 然而,我试图解决的一个问题是,当从同一个位置调用此方法时,我只想通知调用方一次,忽略或放弃任何其他回调 我可以这样做的一种方法是通过查看callback.Method.

我有一个接受回调作为参数的方法

public void SaveSomeData (int value, Action<SomeDataModel> callback)
这是客户端上的一种方法,在该方法中,我聚合特定时间内的所有调用,然后向服务器发送单个请求。一旦服务器发送响应,我就使用回调通知调用者。这一切都很好

然而,我试图解决的一个问题是,当从同一个位置调用此方法时,我只想通知调用方一次,忽略或放弃任何其他回调

我可以这样做的一种方法是通过查看callback.Method.Name忽略重复回调,但问题是重复回调是否继续留在内存中

寻找更好的方法来解决这个问题


谢谢

这个问题还不错,但包含更多信息可能会有所帮助。您可以发布当前解决问题的代码吗?更好的解决方案是,当您只希望收到一次通知时,避免调度多个回调,而不是试图让对象只调用唯一的回调方法。毕竟,这种方法无法知道某个特定的调用方是否希望得到多次通知,而知道这一点也不是它的工作。