自己封装了一个socket类,定义了一个List<MySocket> sockList,然后在程序里new新的对象并放到list里边 sockList.Add(sock)。现在的问题是我需要启动新的线程,线程里需要从list里取出其中的一个元素,通过ref传递引用。通过foreach循环内会提示迭代器变量无法传递ref参数。请问要怎么样做呢?没多少分,只能来10分悬赏了。
to lucika_china:谢谢你的回答。你说的这个方式我也试了,比如我传进去 fun(ref sockList[pos]),会报属性或索引器不得作为out或ref参数传递。
to Rungroo:以前确实是做C/C++的,用C#工作日也就2周不到吧。我封装的类似是个socket复用的功能,封装类除了有socket成员外,还加的有个bool变量,表明该socket是否被占用。开始是false,这个对象在主线程生成并放到一个List里的保存,作为函数的一个参数起线程,线程结束需要设置原对象的这个bool变量。这样就只能传引用了。
快接近真相了,再次求知道。