Прочитать на английском

Поделиться через


Ошибка компилятора CS0438

Тип "тип" в модуле "модуль_1" конфликтует с пространством имен "пространство_имен" в "модуль_2".

Эта ошибка происходит, когда тип в файле исходного кода конфликтует с пространством имен в другом исходном файле. Обычно это происходит, когда один или оба типа происходят из добавленного модуля. Чтобы устранить эту ошибку, переименуйте тип или пространство имен, вызвавшее конфликт.

В следующем примере возникает ошибка CS0438:

Сначала скомпилируйте этот файл:

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

Затем скомпилируйте этот файл:

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

И наконец скомпилируйте этот файл:

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