编译器错误 CS0434
更新: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
}