Ler em inglês

Partilhar via


Erro do compilador CS0438

O tipo 'type' em 'module_1' entra em conflito com o namespace 'namespace' em 'module_2'.

Este erro ocorre quando um tipo em um arquivo de origem entra em conflito com um namespace em outro arquivo de origem. Isso normalmente acontece quando um ou ambos vêm de um módulo adicionado. Para resolver, renomeie o tipo ou o namespace que causou o conflito.

O exemplo a seguir gera CS0438:

Compile este arquivo primeiro:

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

Em seguida, compile este arquivo:

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

E, em seguida, compile este arquivo:

// 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  
   }  
}