У меня возникает проблема, когда я не могу сделать ссылку на класс в другом пространстве имен. У меня есть 2 класса:
namespace Foo
{
public class Class1 { ... }
}
namespace My.App.Foo
{
public class Class2
{
public void SomeMethod()
{
var x = new Foo.Class1; // compile error!
}
}
}
Ошибка компиляции:
Тип или имя пространства имен 'Class1' не существует в пространстве имен 'My.App.Foo'
В этой ситуации я не могу заставить Visual Studio признать, что "Foo.Class1" относится к первому классу. Если я нахожусь над "Foo", это показывает, что его попытка разрешить это с помощью "My.App.Foo.Class1"
Если я поставлю строку:
using Foo;
в верхней части файла .cs, который содержит Class2, тогда он также разрешает это на "My.App.Foo".
Есть ли какой-то трюк для ссылки на правильное пространство имен Foo без простого переименования пространств имен, чтобы они не конфликтуют? Оба этих пространства имен находятся в одной и той же сборке.