Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0434

Obor názvů NamespaceName1 v NamespaceName2 je v konfliktu s typem TypeName1 v NamespaceName3

K této chybě dochází, když importovaný typ a importovaný vnořený obor názvů mají stejný plně kvalifikovaný název. Když se na tento název odkazuje, kompilátor nemůže rozlišovat mezi těmito dvěma názvy. Pokud můžete importovaný zdrojový kód změnit, můžete chybu vyřešit změnou názvu typu nebo oboru názvů tak, aby oba byly v rámci sestavení jedinečné.

Následující kód vygeneruje chybu CS0434.

Příklad 1

Tento kód vytvoří první kopii typu s totožným plně kvalifikovaným názvem.

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

Příklad 2

Tento kód vytvoří druhou kopii typu s totožným plně kvalifikovaným názvem.

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

Příklad 3

Tento kód odkazuje na typ s identickým plně kvalifikovaným názvem.

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