英語で読む

次の方法で共有


コンパイラ エラー CS0101

名前空間 'namespace' に 'type' の定義が既に含まれています

名前空間 の識別子が重複しています。 重複している識別子のうちの 1 つの名前を変更するか、または削除してください。 詳細については、「名前空間」を参照してください。

次の例では CS0101 が生成されます。

// CS0101.cs  
namespace MyNamespace  
{  
   public class MyClass  
   {  
      static public void Main()  
      {  
      }  
   }  
  
   public class MyClass   // CS0101  
   {  
   }  
}  

クラス名が名前空間名と衝突した場合にも、CS0101 が生成されます。 これが発生するのは、名前空間ルートを同じに維持しようとして、基底クラスのヘルパー クラスを使用して拡張するときです。 次の例では、UTF8 クラスは明らかに String クラスの補助クラスであるべきですが、名前空間を Utilities.String と宣言して同じ名前空間に強制的に入れようとすると、CS0101 エラーが発生します。

//CS0101-Utilities.String.cs
namespace Utilities
{  
   public class String
   {  
        public string MyString;
   }  
}

//CS0101-Utilities.String.UTF8.cs
namespace Utilities.String  // CS0101  
{  
   public class UTF8
   {  
        public string MySecondString;
   }  
}