Ler em inglês

Partilhar via


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.

Exemplo 1

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 { }  
    }  
}  

Exemplo 2

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 { }  
}  

Exemplo 3

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  
}