다음을 통해 공유


컴파일러 오류 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;
   }  
}