.NET의 "Global :: System"과 "System"의 차이점은 무엇입니까?
-
03-07-2019 - |
문제
방금 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. :)
제휴하지 않습니다 StackOverflow