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
}