Ошибка компилятора CS0199
Обновлен: Ноябрь 2007
Сообщение об ошибке
Поля доступного только для чтения статического поля "имя" могут передаваться как параметры с ключевым словом ref или out только в статическом конструкторе
Fields of static readonly field 'name' cannot be passed ref or out (except in a static constructor)
Переменная, помеченная модификатором readonly, должна содержать тот же модификатор использования static, что и конструктор, в который ее необходимо передать в качестве параметра ref или out. Дополнительные сведения см. в разделе Передача параметров (Руководство по программированию в C#).
Пример
Следующий пример приводит к возникновению ошибки CS0199:
// CS0199.cs
class MyClass
{
public static readonly int TestInt = 6;
static void TestMethod(ref int testInt)
{
testInt = 0;
}
MyClass()
{
TestMethod(ref TestInt); // CS0199, TestInt is static
}
public static void Main()
{
}
}