Lezen in het Engels

Delen via


Compilerfout CS0434

De naamruimte NamespaceName1 in NamespaceName2 conflicteert met het type TypeName1 in NamespaceName3

Deze fout treedt op wanneer een geïmporteerd type en een geïmporteerde geneste naamruimte dezelfde volledig gekwalificeerde naam hebben. Wanneer naar die naam wordt verwezen, kan de compiler geen onderscheid maken tussen de twee. Als u de geïmporteerde broncode kunt wijzigen, kunt u de fout oplossen door de naam van het type of de naamruimte te wijzigen, zodat beide uniek zijn binnen de assembly.

Met de volgende code wordt fout CS0434 gegenereerd.

Voorbeeld 1

Met deze code wordt de eerste kopie van het type gemaakt met de identieke volledig gekwalificeerde naam.

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

Voorbeeld 2

Met deze code wordt de tweede kopie van het type gemaakt met de identieke volledig gekwalificeerde naam.

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

Voorbeeld 3

Deze code verwijst naar het type met de identieke volledig gekwalificeerde naam.

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