Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0101

Obor názvů 'obor názvů' již obsahuje definici pro 'type'

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 také vygeneruje, když název třídy koliduje s názvem vašeho oboru názvů. 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ě dceřinou společností třídy String, ale pokus ji vynutit do stejného prostoru názvů deklarací uvedeného oboru názvů jako Utilities.String způsobí 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;
   }  
}