Freigeben über


Compilerfehler CS0101

Der Namespace 'Namespace' enthält bereits eine Definition für 'Typ'.

Ein Namespace weist doppelte Bezeichner auf. Benennen Sie einen der doppelten Bezeichner um oder löschen Sie ihn. Weitere Informationen finden Sie unter Namespaces.

Im folgenden Beispiel wird CS0101 generiert:

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

Ein CS0101-Fehler wird auch generiert, wenn ein Konflikt zwischen Klassenname und Namespacename auftritt. Dies kann passieren, wenn Sie die Basisklasse mit Hilfsklassen erweitern und versuchen, die Namespaceroute unverändert beizubehalten. Im folgenden Beispiel sollte die UTF8-Klasse eindeutig eine untergeordnete Klasse der String-Klasse sein, aber der Versuch, sie im gleichen Namespace zu erzwingen, indem dieser Namespace als Utilities.String deklariert wird, führt zu einem CS0101-Fehler:

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