영어로 읽기

다음을 통해 공유


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