我们在一个类中有一个类变量ArrayList binaryScanData
。在有权访问的所有方法中,我们将lock(binaryScanData)
放在它上面,因为它是共享的。现在我们要将这些方法之一移出到另一个util类,以使其成为static
方法。我们将传递到binaryScanData
像这样的方法:C#可以锁定一个方法参数吗?
public static void convertAndSaveRawData(ref MemoryStream output, ref ArrayList binaryScanData)
我们的问题是如下:
- 怎能sychoronize是
binaryScanData
?我们可以像原来一样吗? ref
是必要的吗?它只会在convertAndSaveRawData
方法中读取。
考虑改变你的实现 - 如果你传回void和使用多个ref参数,你应该考虑做一个响应对象。 – Tejs 2010-04-28 14:56:47
为什么要使用ArrayList而不是泛型等价物,如List? –
2010-04-28 14:58:39