Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0438

Typ "type" w ciągu "module_1" powoduje konflikt z przestrzeni nazw "przestrzeń nazw" w ciągu "module_2".

Ten błąd występuje, gdy typ w pliku źródłowym powoduje konflikt z przestrzenią nazw w innym pliku źródłowym. Zwykle dzieje się tak, gdy jeden lub oba pochodzą z dodanego modułu. Aby rozwiązać ten problem, zmień nazwę typu lub przestrzeni nazw, która spowodowała konflikt.

Poniższy przykład generuje CS0438:

Najpierw skompiluj ten plik:

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

Następnie skompiluj ten plik:

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

Następnie skompiluj ten plik:

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