Sdílet prostřednictvím


Compilerfehler CS0438

Aktualisiert: November 2007

Fehlermeldung

Der Typ "Typ" in "Modul_1" verursacht einen Konflikt mit dem Namespace "Namespace" in "Modul_2".
The type 'type' in 'module_1' conflicts with the namespace 'namespace' in 'module_2'.

Dieser Fehler tritt auf, wenn sich ein Typ in einer Quelldatei mit einem Namespace in einer anderen Quelldatei im Konflikt befindet. Dies geschieht in der Regel, wenn einer von beiden oder beide aus einem hinzugefügten Modul stammen. Beheben Sie diesen Konflikt, indem Sie den Typ oder den Namespace umbenennen, der den Konflikt verursacht hat.

Im folgenden Beispiel wird der Fehler CS0438 generiert.

Kompilieren Sie zuerst 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 { }
}

Kompilieren Sie anschließend 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
   }
}