Chyba kompilátoru CS0101

Obor názvů 'namespace' již obsahuje definici pro 'typ'

Obor názvů má duplicitní identifikátory. Přejmenujte nebo odstraňte jeden z duplicitních identifikátorů. Další informace naleznete v tématu Obory názvů

Následující ukázka vygeneruje CS0101:

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

CS0101 se vygeneruje také, když název třídy koliduje s názvem vašeho prostoru jmen. K tomu může dojít při rozšiřování pomocí pomocných tříd pro základní třídu, kde se pokusíte zachovat trasu oboru názvů stejnou. V následujícím příkladu by třída UTF8 měla být jasně podtřídou třídy String, ale pokud se pokusíte umístit do stejného prostoru názvů deklarací tohoto prostoru názvů jako Utilities.String, způsobí to chybu 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;
   }  
}