Błąd kompilatora CS0101

Przestrzeń nazw 'namespace' już zawiera definicję dla 'typ'

Przestrzeń nazw ma zduplikowane identyfikatory. Zmień nazwę lub usuń jeden z zduplikowanych identyfikatorów. Aby uzyskać więcej informacji, zobacz Przestrzenie nazw

Poniższy przykład generuje błąd CS0101:

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

CS0101 jest również generowany, gdy nazwa klasy koliduje z nazwą przestrzeni nazw. Może się to zdarzyć podczas rozszerzania przy użyciu klas pomocniczych dla klasy bazowej, w której próbujesz utrzymać trasę przestrzeni nazw bez zmian. W poniższym przykładzie klasa UTF8 powinna być wyraźnie podklasą klasy String, ale próba umieszczenia jej w tej samej przestrzeni nazw, deklarując ją jako Utilities.String, spowoduje błąd 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;
   }  
}