Visual Studio 8의 어셈블리 참조의 별칭 속성은 어떤 용도로 사용됩니다.
-
08-07-2019 - |
문제
Visual Studio 8의 프로젝트에 대한 어셈블리 참조를 추가하면 해당 참조의 별명 속성이 "Global"으로 설정됩니다. 이 속성은 무엇이며 왜 글로벌로 설정됩니까?
MSDN은 이것이 어셈블리의 별칭 목록이지만이 속성을 사용하고 싶은 이유 또는 대부분 "글로벌"으로 사용되는 이유는 아니라고 말합니다.
해결책
이것은 "외부 별칭"을위한 것입니다. 두 가지 다른 유형을 사용하고 싶다고 가정합니다. Foo.Bar
(즉 Bar
네임 스페이스에서 Foo
). 두 가지 유형은 다른 어셈블리에 있습니다 (정의별로) - 귀하는 각 참조와 별명을 연결하기 위해 VS의 속성을 사용하여 다음을 수행 할 수 있습니다.
extern alias FirstAlias;
extern alias SecondAlias;
using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;
그리고 사용하십시오 FirstBar
그리고 SecondBar
코드에서.
따라서 기본적으로 그것은 명명의 추가 수준입니다. 그리고 당신은 실제로 당신이 정말로 필요하지 않으면 그것을 사용해서는 안됩니다. 그것은 많은 사람들을 혼란스럽게 할 것입니다. 처음에는 그 상황에 빠지지 않도록 노력하십시오. 그러나 피할 수없는 시간 동안이 솔루션을 알고 있어야합니다.
다른 팁
"검색"외부 별칭"; 동일한 유형에 기여하는 두 개의 DLL 사이에 분해하는 데 필요한 매우 드물게 사용되는 기능입니다 (예 : 동일한 어셈블리의 두 가지 버전 또는 완전히 자격을 갖춘 이름을 공유하는 클래스가있는 두 개의 어셈블리 ).
"글로벌"이 기본값입니다. 예를 들어, 전화 수업이있는 경우 Foo.System
, 당신은 메인을 명확하게 언급 할 수 있습니다 System
네임 스페이스를 통해 global::System
.