Visual Studio 8에서 어셈블리 참조의 Aliases 속성은 무엇을 사용합니까?
Visual Studio 8에서 프로젝트에 어셈블리 참조를 추가하면 해당 참조의 Aliases 속성이 "global"으로 설정됩니다. 이 속성의 장점은 무엇이며 전역으로 설정되는 이유는 무엇입니까?
MSDN은 이것이 어셈블리의 별칭 목록이라고 알려주지 만이 속성을 사용하려는 이유나 대부분이 "global"으로 별칭이 지정된 이유는 아닙니다.
이것은 "외부 별칭"을위한 것입니다. 두 가지 다른 유형을 사용한다고 가정 해 보겠습니다. 둘 다 호출됩니다 Foo.Bar
(즉 Bar
,의 네임 스페이스에서 Foo
). 두 유형은 정의에 따라 서로 다른 어셈블리에 있습니다. VS의 속성을 사용하여 별칭을 각 참조와 연결하면 다음을 수행 할 수 있습니다.
extern alias FirstAlias;
extern alias SecondAlias;
using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;
다음 사용 FirstBar
하고 SecondBar
코드입니다.
따라서 기본적으로 추가 수준의 이름 지정입니다. 실제로 꼭 필요한 경우가 아니면 사용하지 않아야합니다. 그것은 많은 사람들을 혼란스럽게 할 것입니다. 애초에 그러한 상황에 빠지지 않도록 노력하십시오.하지만 피할 수없는 경우에는이 솔루션에 유의하십시오.
" extern alias "를 검색하십시오 . 동일한 유형을 제공하는 두 dll (예 : 동일한 어셈블리의 두 가지 다른 버전 또는 정규화 된 이름을 공유하는 클래스가있는 두 어셈블리) 사이를 명확하게하는 데만 필요한 매우 드물게 사용되는 기능입니다.
"global"이 기본값입니다. 예를 Foo.System
들어라 는 클래스가있는 경우를 System
통해 주 네임 스페이스를 명확하게 참조 할 수 있습니다 global::System
.
'IT박스' 카테고리의 다른 글
ReaderWriterLock 대 잠금 {} (0) | 2020.11.18 |
---|---|
before_filter가 실행되는 순서를 어떻게 지정할 수 있습니까? (0) | 2020.11.18 |
Stata 소프트웨어없이 dta 파일을 csv로 변환 (0) | 2020.11.17 |
Qt. (0) | 2020.11.17 |
포인터는 C에서 참조로 호출하는 방법으로 간주됩니까? (0) | 2020.11.17 |