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

具有固定参数值的VB.Net函数指针,vb.net,function,pointers,Vb.net,Function,Pointers,我有一个自定义编写的后台任务管理器,它将操作作为参数,对其进行排队,等待执行线程释放,然后调用它 现在我想做以下几件事: Dim lValue As Integer = 0I For tIndex As Integer = 0 To 10 BackgroundTaskManager.QueueTask(New Action(Sub() DoSomething(lValue))) lValue += 1 Next 这显然会导致一些奇怪的结果,因

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

现在我想做以下几件事:

    Dim lValue As Integer = 0I
    For tIndex As Integer = 0 To 10
       BackgroundTaskManager.QueueTask(New Action(Sub() DoSomething(lValue)))
       lValue += 1
    Next
这显然会导致一些奇怪的结果,因为lambda表达式是在不可预测的时刻(每当线程可用时)调用的,因此DoSomething方法无法访问我希望它具有的实际值

但是,将这些参数放入sub(这将需要一个操作(T,…)实际上不是一个选项,因为我的后台任务管理器只在没有参数的情况下执行操作,我希望它保持这种状态(后台任务管理器不应该知道实际调用的是什么)

我要寻找的是一种存储函数指针的方法,其中包含已计算的参数值,可以由简单的[FunctionWithParametersValuated].[Invoke]调用。


你知道如何实现这一点吗?

如果我没弄错的话,如果你在循环中声明了一个局部变量,然后将
lValue
赋值给该变量,并将该变量用作lambda参数,那么你就可以开始了。谢谢,我会尝试的。虽然我觉得它不是很优雅。