次の方法で共有


コンパイラ エラー CS0438

更新 : 2007 年 11 月

エラー メッセージ

'module_1' の型 '型' は、'module_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
   }
}