Auf Englisch lesen

Freigeben über


Compilerfehler CS0438

Der Typ 'typ' in 'modul_1' verursacht einen Konflikt mit dem Namespace 'namespace' in 'modul_2'.

Dieser Fehler tritt auf, wenn ein Typ in einer Quelldatei im Konflikt mit einem Namespace in einer anderen Quelldatei steht. Dies tritt meistens dann auf, wenn einer oder beide aus einem hinzugefügten Modul stammen. Um das Problem zu beheben, benennen Sie den Typ oder den Namespace um, der den Konflikt verursacht hat.

Im folgenden Beispiel wird CS0438 generiert:

Kompilieren Sie zunächst diese Datei:

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

Kompilieren Sie dann diese Datei:

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

Und kompilieren Sie dann diese Datei:

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