Share via


컴파일러 오류 CS0135

업데이트: 2007년 11월

오류 메시지

'declaration1'이(가) 'declaration2' 선언과 충돌합니다.
'declaration1' conflicts with the declaration 'declaration2'

컴파일러에서는 일반적으로 코드에 논리 오류를 일으키는 이름 숨김을 사용할 수 없습니다.

예제

다음 샘플에서는 CS0135 오류가 발생하는 경우를 보여 줍니다.

// CS0135.cs
public class MyClass2
{
   public static int i = 0;

   public static void Main()
   {
      {
         int i = 4;
         i++;
      }
      i = 0;   // CS0135
   }
}

C# 언어 사양의 7.5.2.1 단원을 참조하십시오. 해당 내용은 다음과 같습니다.

식이나 선언자에 단순한 이름으로 식별자를 지정한 경우 해당 식별자 바로 바깥쪽의 지역 변수 선언 공간(§CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFIAZQBmADQANgAxADYAMgAyADEAMwA4AAAA REF _Ref461622138 \r \h 3.3) 내의 식이나 선언자에 단순한 이름으로 동일한 식별자를 다시 지정할 때에는 항상 동일한 엔터티를 참조해야 합니다. 이 규칙은 지정된 블록, 스위치 블록, for, foreach 또는 using 문, 익명 함수 내에서 이름의 의미가 항상 같도록 합니다.