Основываясь на этом недавнем question, я не понимаю ответа. Похоже, вы должны быть способны сделать что-то подобное, поскольку их области не перекрываются
static void Main()
{
{
int i;
}
int i;
}
Этот код не может скомпилироваться со следующей ошибкой:
Локальная переменная с именем "i" не может быть объявлена в этой области, потому что она будет иметь другое значение для "i", которое уже используется в области "child", чтобы обозначить что-то еще