컴파일러 경고(수준 2) CS0435

업데이트: 2007년 11월

오류 메시지

'assembly'의 'namespace' 네임스페이스가 'assembly'의 가져온 형식 'type'과(와) 충돌합니다. 'assembly'에 정의된 네임스페이스를 사용합니다.
The namespace 'namespace' in 'assembly' conflicts with the imported type 'type' in 'assembly'. Using the namespace defined in 'assembly'..

이 경고는 소스 파일(file_2)에 있는 네임스페이스가 file_1에서 가져온 형식과 충돌할 때 발생합니다. 이 경우 컴파일러에서는 소스 파일에 있는 형식을 사용합니다.

다음 예제에서는 CS0435 오류가 발생하는 경우를 보여 줍니다.

아래 파일을 먼저 컴파일합니다.

// CS0435_1.cs
// compile with: /t:library
public class Util 
{
   public class A { }
}

그런 다음 아래의 파일을 컴파일합니다.

// CS0435_2.cs
// compile with: /r:CS0435_1.dll

using System;

namespace Util 
{
   public class A { }
}

public class Test 
{
   public static void Main() 
   {
      Console.WriteLine(typeof(Util.A)); // CS0435
   }
}