更新:2007 年 11 月

错误消息

NamespaceName2 中的命名空间 NamespaceName1 与 NamespaceName3 中的类型 TypeName1 冲突。

当导入的类型和导入的命名空间具有相同的完全限定名时,将出现此错误。当引用该名称时,编译器无法区分这两者。

下面的代码生成错误 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
}