Leer en inglés

Compartir vía


Error del compilador CS0101

El espacio de nombres 'namespace' ya contiene una definición de 'type'

Un espacio de nombres tiene identificadores duplicados. Cambie el nombre o elimine uno de los identificadores duplicados. Para más información, consulte Espacios de nombres

El ejemplo siguiente genera el error CS0101:

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

También se genera un error CS0101 cuando el nombre de la clase entra en conflicto con el nombre del espacio de nombres. Esto puede ocurrir cuando se expande con clases auxiliares para la clase base donde se intenta mantener igual la ruta del espacio de nombres. En el ejemplo siguiente, la clase UTF8 debe ser claramente una subsidiaria de la clase String, pero intentar forzar esto en el mismo espacio de nombres declarando dicho espacio de nombres como Utilities.String provocará un error CS0101:

C#
//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;
   }  
}