문제

방금 VS 2005 프로젝트를 VS 2008로 업그레이드하고 변경 사항을 조사했습니다. .designer.cs 파일 중 하나가 크게 변경된 것을 알았습니다. 변화의 대부분은 단순히 대체되었습니다 체계 ~와 함께 글로벌 :: 시스템. 예를 들어,

protected override System.Data.DataTable CreateInstance()

~가 되었다

protected override global::System.Data.DataTable CreateInstance()

여기서 무슨 일이야?

도움이 되었습니까?

해결책

:: 운영자를 네임 스페이스 별명 예선이라고합니다.

 global::System.Data.DataTable 

와 같다:

 System.Data.DataTable

Visual Studio 2008은 사람들이 시스템이라는 클래스를 만들었을 때 때때로 발생했던 모호한 참조 문제를 피하기 위해 디자이너를 생성 한 코드에 추가했습니다.

class TestApp
{
    // Define a new class called 'System' to cause problems.
    public class System { }

    // Define a constant called 'Console' to cause more problems.
    const int Console = 7;
    const int number = 66;

    static void Main()
    {
        // Error  Accesses TestApp.Console
        //Console.WriteLine(number);
    }
}

하지만:

global::System.Console.Writeline("This works");

추가 읽기 :

http://msdn.microsoft.com/en-us/library/c3ay4x3d(vs.80).aspx

다른 팁

사람들이하는 것을 막기 위해 이 목록에서 #1. :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top