我有类似下面的方法签名:
private void MyMethod(List<MyObject> myObjects, string test)
我想在parallel.for中调用此方法但不确定我应该如何传递字符串参数?
目前我的电话如下:
Parallel.ForEach(myObjects, new ParallelOptions { MaxDegreeOfParallelism = 5}, MyMethod);
调用这两个参数传递的正确方法是什么?
答案 0 :(得分:3)
MyMethod
只应采用MyObject
类型的一个参数(而不是List<MyObject>
)。
所以应该有这个签名
private void MyMethod(MyObject myObjects, string test)
之后,如果要添加附加参数,只需添加包装器
Parallel.ForEach(myObjects,
new ParallelOptions { MaxDegreeOfParallelism = 5},
x => MyMethod(x,test));