无法在静态类中将锁定对象设为私有 - 为什么?

时间:2009-04-22 15:46:00

标签: c#

在静态类中,我有一个编辑变量的方法。该类是静态的,因为该类是关于站点详细信息的,因此只需要一个实例。

无论如何,需要线程同步。我有一个锁对象,但是当我把它变成私有它并说lock(obj){}时我会遇到各种各样的错误。

为什么不能将锁定对象设为私有?

2 个答案:

答案 0 :(得分:3)

有人想过,你是否静态初始化了这个对象。尝试声明:

private static object lockObject = new object();

答案 1 :(得分:1)

它应该工作。你是宣称它是private static吗?

private static readonly object lockObject = new object();

public static void Method() {
    lock(lockObject) { 
         // ...
    }
}