Errore del compilatore CS0101

Lo spazio dei nomi 'namespace' contiene già una definizione per 'type'

Uno spazio dei nomi ha identificatori duplicati. Rinominare o eliminare uno degli identificatori duplicati. Per altre informazioni, vedere Spazi dei nomi

L'esempio seguente genera l'errore CS0101:

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

Un cs0101 viene generato anche quando il nome della classe è in conflitto con il nome dello spazio dei nomi. Ciò può verificarsi quando si espandono le classi helper per la classe di base nel tentativo di mantenere lo stesso percorso dello spazio dei nomi. Nell'esempio seguente, la classe UTF8 deve essere chiaramente una derivata della classe String, ma il tentativo di forzarla nello stesso namespace dichiarando il namespace come Utilities.String genererà un errore 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;
   }  
}