Partager via


Erreur du compilateur CS0434

Mise à jour : novembre 2007

Message d'erreur

L'espace de noms 'Espace de noms1' dans 'Espace de noms2' est en conflit avec le type 'Nom de type1' dans 'Espace de noms3'
The namespace NamespaceName1 in NamespaceName2 conflicts with the type TypeName1 in NamespaceName3

Cette erreur se produit lorsque le type importé et l'espace de noms importé ont le même nom qualifié complet. Lorsque ce nom est référencé, le compilateur est incapable de faire la distinction entre les deux.

Le code suivant génère l'erreur CS0434.

Exemple

Ce code crée la première copie du type avec le nom qualifié complet identique.

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

Ce code crée la deuxième copie du type avec le nom qualifié complet identique.

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

Ce code référence le type avec le nom qualifié complet identique.

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