Следующее не компилируется.
public class A
{
private readonly int i;
public A()
{
void SetI()
{
i = 10;
}
SetI();
}
}
Это терпит неудачу с этой ошибкой:
CS0191 Поле, доступное только для чтения, не может быть назначено (кроме как в конструкторе или инициализаторе переменной)
Технически мы все еще не в конструкторе, так как видимость локальной функции ограничена, поэтому мне интересно, почему это не компилируется.