Erro do compilador CS0434
O namespace NamespaceName1 em NamespaceName2 entra em conflito com o tipo TypeName1 em NamespaceName3
Este erro ocorre quando um tipo importado e um namespace aninhado importado têm o mesmo nome totalmente qualificado. Quando esse nome é referenciado, o compilador é incapaz de distinguir entre os dois. Se você puder alterar o código-fonte importado, poderá resolver o erro alterando o nome do tipo ou do namespace para que ambos sejam exclusivos dentro do assembly.
O código a seguir gera o erro CS0434.
Este código cria a primeira cópia do tipo com o nome idêntico totalmente qualificado.
// CS0434_1.cs
// compile with: /t:library
namespace TypeBindConflicts
{
namespace NsImpAggPubImp
{
public class X { }
}
}
Este código cria a segunda cópia do tipo com o nome idêntico totalmente qualificado.
// CS0434_2.cs
// compile with: /t:library
namespace TypeBindConflicts {
// Conflicts with another import (import2.cs).
public class NsImpAggPubImp { }
// Try this instead:
// public class UniqueClassName { }
}
Este código faz referência ao tipo com o nome idêntico totalmente qualificado.
// CS0434.cs
// compile with: /r:cs0434_1.dll /r:cs0434_2.dll
using TypeBindConflicts;
public class Test
{
public TypeBindConflicts.NsImpAggPubImp.X n2 = null; // CS0434
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: