Ler em inglês

Compartilhar via


Erro do Compilador CS0438

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

Esse erro ocorre quando um tipo em um arquivo de origem entra em conflito com um namespace em outro arquivo de origem. Normalmente, isso 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 o erro CS0438:

Compile esse arquivo primeiro:

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

Em seguida, compile esse arquivo:

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

Depois, compile esse 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  
   }  
}