具有固定参数值的VB.Net函数指针

时间:2015-09-17 01:34:23

标签: vb.net function pointers

我有一个自定义编写的后台任务管理器,它将Action作为参数,对其进行排队,等待执行线程空闲然后调用它。

现在我想做以下事情:

    Dim lValue As Integer = 0I
    For tIndex As Integer = 0 To 10
       BackgroundTaskManager.QueueTask(New Action(Sub() DoSomething(lValue)))
       lValue += 1
    Next

这显然会导致一些奇怪的结果,因为lambda表达式是在一个不可预测的时刻调用的(每当一个线程可用时),所以 DoSomething-method 无法访问实际值我希望它有。

然而,将这些参数放入子 - 这需要一个Action(Of T,...) - 实际上并不是一个选项,因为我的后台任务管理器只接受没有参数的Action而我希望它保持不变方式(后台任务管理器不应该知道实际调用的内容)。

我正在寻找的是一种存储函数指针的方法,该函数指针已经过评估的参数值,可以通过简单的[FunctionWithParametersEvaluated]调用。[Invoke]。

知道如何实现这个目标吗?

0 个答案:

没有答案