Leer en inglés

Compartir a través de


Error del compilador CS0434

El espacio de nombres NombreEspacioNombres1 de NombreEspacioNombres2 entra en conflicto con el tipo NombreTipo1 en NombreEspaciodeNombres3.

Este error se produce cuando un tipo importado y un espacio de nombres anidado importado tienen el mismo nombre completo. Cuando se hace referencia a ese nombre, el compilador no puede distinguir entre los dos. Si puede cambiar el código fuente importado, puede resolver el error cambiando el nombre del tipo o el espacio de nombres para que ambos sean únicos en el ensamblado.

El código siguiente genera el error CS0434:

Ejemplo 1

Este código crea la primera copia del tipo con el nombre completo idéntico.

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

Ejemplo 2

Este código crea la segunda copia del tipo con el nombre completo idéntico.

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

Ejemplo 3

Este código hace referencia al tipo con el nombre completo idéntico.

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