Ошибка C #, когда класс разделяет имя с пространством имен

Сборка 1

namespace Foo
{
    public class Foo { }
}

Сборка 2

using Foo;

public class Bar 
{ 
    Foo foo = new Foo();
}

Сегодня я обнаружил, что приведенное выше сообщение дает ошибку Ожидается имя типа, но найдено имя пространства имен .

Я нахожу это удивительным. Насколько мне известно, вы не можете объявить переменную пространства имен или new () пространством имен. Foo - это тип, и он используется там, где синтаксический анализатор ожидает найти тип, так почему же синтаксический анализатор не может правильно его разрешить? Какую языковую функцию я упускаю из виду, что означает, что команда компиляторов не смогла это реализовать?

13
задан fearofawhackplanet 13 December 2011 в 13:38
поделиться