Ler em inglês

Partilhar via


Erro do compilador CS0101

O namespace 'namespace' já contém uma definição para 'type'

Um namespace tem identificadores duplicados. Renomeie ou exclua um dos identificadores duplicados. Para obter mais informações, consulte Namespaces

O exemplo a seguir gera CS0101:

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

Um CS0101 também é gerado quando o nome da classe entra em conflito com o nome do namespace. Isso pode acontecer ao expandir com classes auxiliares para a classe base onde você tenta manter a rota do namespace igual. No exemplo abaixo, a classe UTF8 deve ser claramente uma subsidiária da classe String, mas tentar forçá-la para o mesmo espaço de nome declarando esse namespace como Utilities.String causará um erro 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;
   }  
}