Поделиться через


Ошибка компилятора CS0101

Пространство имен 'namespace' уже содержит определение для 'type'.

Пространство имен имеет повторяющиеся идентификаторы. Переименуйте или удалите один из повторяющихся идентификаторов. Дополнительные сведения см. в разделе "Пространства имен"

Следующий пример приводит к возникновению ошибки 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;
   }  
}