次の方法で共有


コンパイラ エラー 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;
   }  
}