Partager via


Erreur du compilateur CS0438

Mise à jour : novembre 2007

Message d'erreur

Le type 'type' dans 'module_1' est en conflit avec l'espace de noms 'espace de noms' dans 'module_2.'
The type 'type' in 'module_1' conflicts with the namespace 'namespace' in 'module_2'.

Cette erreur se produit lorsqu'un type contenu dans un fichier source est en conflit avec un espace de noms d'un autre fichier source. Cela se produit généralement lorsque l'un ou l'autre de ces éléments (ou les deux) provient d'un module ajouté. Pour corriger cette erreur, renommez le type ou l'espace de noms qui a provoqué le conflit.

L'exemple suivant génère l'erreur CS0438 :

Compilez tout d'abord le fichier suivant :

// CS0438_1.cs
// compile with: /target:module
public class Util
{
   public class A { }
}

Ensuite, compilez le fichier suivant :

// CS0438_2.cs
// compile with: /target:module
namespace Util 
{
   public class A { }
}

Enfin, compilez le fichier suivant :

// CS0438_3.cs
// compile with: /addmodule:CS0438_1.netmodule /addmodule:CS0438_2.netmodule
using System;
public class Test
{
   public static void Main() {
      Console.WriteLine(typeof(Util.A));   // CS0438
   }
}