Поделиться через


Ошибка компилятора CS0185

Обновлен: Ноябрь 2007

Сообщение об ошибке

"тип" не является ссылочным типом, как требуется оператором "lock"
'type' is not a reference type as required by the lock statement

Оператор lock может вычислять только ссылочные типы. Дополнительные сведения см. в разделах Синхронизация потоков (Руководство по программированию на C#) и Ссылочные типы (Справочник по C#).

Пример

Следующий пример приводит к возникновению ошибки CS0185:

// CS0185.cs
public class MainClass
{
    public static void Main ()
    {
        lock (1)   // CS0185
        // try the following lines instead
        // MainClass x = new MainClass();
        // lock(x)
        {
        }
    }
}