Сборка 1
namespace Foo
{
public class Foo { }
}
Сборка 2
using Foo;
public class Bar
{
Foo foo = new Foo();
}
Сегодня я обнаружил, что приведенное выше сообщение дает ошибку Ожидается имя типа, но найдено имя пространства имен
.
Я нахожу это удивительным. Насколько мне известно, вы не можете объявить переменную пространства имен или new () пространством имен. Foo
- это тип, и он используется там, где синтаксический анализатор ожидает найти тип, так почему же синтаксический анализатор не может правильно его разрешить? Какую языковую функцию я упускаю из виду, что означает, что команда компиляторов не смогла это реализовать?