更新 : 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
}
}