2011-05-02 6 views
0
assemblyname.assemblyname myobj = new assemblyname.assemblyname() 

어셈블리가 이런 식으로 사용되는 것을 보았습니다. 왜 그런가? 난이 첫 번째 코드 명시 클래스의 공간을 지정하고, 두 번째는 "케이다음과 같은 방식으로 어셈블리를 참조하는 것은 무엇을 의미합니까?

assemblyname myobj = new assemblyname() 

샘플 코드는

Using CreateUsers; 

CreateUsers.CreateUsers userCreation= new CreateUsers.CreateUsers(); 

답변

0

같다 아니라로서 사용되는 본 것처럼

티. 두 번째 코드는 파일 상단에 추가 using assemblyname; 지시어가 필요합니다.

+0

Daniel, 내가 이해하려고하는 샘플 코드에서 파일 상단에 어셈블리 이름을 사용하고 여전히 assemblyname.assemblyname myobj = new assemblyname.assemblyname()을 사용하고 있습니다. 그러므로 혼란. – newtoc

+1

그럼 그냥 중복됩니다. 그러나 그것은 상처를주지 않습니다. –

+0

oki. 그래서 개발자로부터 어셈블리의 새로운 빌드를 얻고 그것을 bin 디렉토리에 추가한다면 initailization에 관한 한 내 코드를 컴파일해야합니다. – newtoc

0

실제 어셈블리 이름 일 수 없습니다. 그것은 네임 스페이스였습니다.

1

네임 스페이스의 이름을 어셈블리 이름과 혼동하는 것으로 생각합니다. 일반적으로 최상위 네임 스페이스는 어셈블리 이름이기도합니다.

1

어셈블리 이름이 아니라 네임 스페이스를 의미합니다. 이는 완전히 다른 것입니다.

예를 들어 설명하겠습니다.

당신은 코드의 상단에 using System.IO;

, 당신은 네임 스페이스 System.IO 이미 컴파일러에 "알려진"입니다 StreamReader reader = new StreamReader("path here"); 대신 System.IO.StreamReader reader = new System.IO.StreamReader("path here");로 할 수 있습니다.

네임 스페이스를 포함하는 경우에도 전체 참조 (예 : System.IO.StreamReader)를 가질 수 있습니다. 오류가 발생하지 않으며 가독성을 위해 유용 할 수 있으며 충돌이 발생할 때 필요하기도합니다. 즉, 두 개의 네임 스페이스 모두에 같은 이름.

관련 문제