Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0438

Typ type v module_1 je v konfliktu s oborem názvů v module_2.

K této chybě dochází, když typ ve zdrojovém souboru koliduje s oborem názvů v jiném zdrojovém souboru. K tomu obvykle dochází v případě, že jeden nebo oba pocházejí z přidaného modulu. Pokud chcete tento problém vyřešit, přejmenujte typ nebo obor názvů, který způsobil konflikt.

Následující příklad vygeneruje CS0438:

Nejprve zkompilujte tento soubor:

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

Pak zkompilujte tento soubor:

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

A pak zkompilujte tento soubor:

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