는 C#에서 어셈블리와 네임 스페이스 충돌을 해결하기 위해, 나는 별칭NLog
중 하나를 주었다 : 이제extern 별칭이 C#에서 어떤 용도로 사용됩니까?
, 나는 내에서 네임 스페이스 참조 할 수 조립과 같이 :
public class Logger : NLog::NLog.LogReceiverService
{
// ...
}
그러나 내 파일 상단에 extern alias
키워드를 사용할 때까지 컴파일되지 않습니다.
extern alias NLog;
내 질문 :
extern alias
키워드가 어떤 목적에 봉사 하는가? NLog::NLog.LogReceiverService
은 어셈블리 별칭, 네임 스페이스 및 형식을 완전히 명확하게하기에 충분합니까?
* 참고 : * 예, 같은 정규화 된 형식 두 어셈블리를 명확하게하는 방법을 간략하게 설명합니다 많은 StackOverflow의 게시물뿐만 아니라 블로그 기사가 여기에
는 통근 별칭에 대한 참고 자료입니다. 그들 모두는 기본적으로 extern alias 키워드 *를 사용하지만 * why *는 말하지 않는다고 말합니다. 제 질문은'Alias ::'가 충분할 때 컴파일러가 * extern 별칭 * 키워드를 필요로하는 이유입니다. –