Поделиться через


Ошибка компилятора CS0434

Обновлен: Ноябрь 2007

Сообщение об ошибке

Пространство имен "Пространство_имен1" в "Пространство_имен2" конфликтует с типом "Имя_типа1" в "Пространство_имен3"
The namespace NamespaceName1 in NamespaceName2 conflicts with the type TypeName1 in NamespaceName3

Эта ошибка возникает при совпадении полных имен импортированного типа и импортированного пространства имен. При ссылке на данное имя компилятору не удается различить эти два объекта.

Следующий код вызывает ошибку CS0434.

Пример

В этом коде создается первая копия типа с идентичным полным именем.

// CS0434_1.cs
// compile with: /t:library
namespace TypeBindConflicts 
{
    namespace NsImpAggPubImp 
    {
        public class X { }
    }
}

В этом коде создается вторая копия типа с идентичным полным именем.

// CS0434_2.cs
// compile with: /t:library
namespace TypeBindConflicts {
    // Conflicts with another import (import2.cs).
    public class NsImpAggPubImp { }
    // Try this instead:
    // public class UniqueClassName { }
}

В этом коде добавляется ссылка на тип с идентичным полным именем.

// CS0434.cs
// compile with: /r:cs0434_1.dll /r:cs0434_2.dll
using TypeBindConflicts;
public class Test 
{
    public TypeBindConflicts.NsImpAggPubImp.X n2 = null; // CS0434
}