如果我想要执行一段“fire and forget”的代码,但仍希望确保我的内存得到清理(参见为什么异步委托方法需要调用EndInvoke?),下面的代码能够实现这个目标吗?
Action myAction = () => LongRunTime();
myAction.BeginInvoke(myAction.EndInvoke,null);
我搜寻了一下,但没有看到有人使用过那个模式。相反,人们使用匿名方法作为它们的回调(例如The proper way to end a BeginInvoke?),或者他们定义一个实际的回调方法。由于我没有看到其他人这样做,所以我认为它可能不起作用或者是一个不好的主意。
谢谢!