2013-09-26 2 views
0

많은 곳에서 사용하고 싶은 코드 세트를 작성했습니다. Limits라는 이름표에 넣었습니다. 이제 프로젝트에 코드 파일을 추가하고 using Limits을 해당 클래스를 사용해야하는 양식 파일의 맨 위에 놓으십시오 (using System 및 필요한 모든 표준 파일과 함께).시스템과 사용자 정의 네임 스페이스의 차이점

시스템을 포함시킨 후 System.UInt32과 같은 것을 사용하고 싶다면 UInt32을 입력하면 정확한 네임 스페이스를 알 수 있습니다.

내 이름 공간에 추가 할 항목이 있습니까? 아니면 양식 네임 스페이스에 추가해야합니까?

편집 :

using System; 
using Limits; 

namespace Sandbox { 
    public partial class Form1 : Form { 
     Check lim = new Check(3, 1); 
} 

확인이 제한 네임 스페이스의 내부 클래스입니다,하지만 오류를 던지고. 아니 내가 그것을 멀리 벗겨 버렸어, 그것은 실패하지 않는 것 같습니다. 내가 무엇을 변경했는지 확신 할 수 없기 때문에 돌아가서 버전을 비교해야 할 것이다.

+4

'Limits;를 사용하면'네임 스페이스에 선언 된 모든 타입을 로컬 범위로 가져와야합니다. 다른 네임 스페이스와 같습니다. 왜 이것이 작동하지 않는다고 의심합니까? – cdhowie

+2

어? VS는'System'을 포함했기 때문에'UInt32'를 알고 있습니다. 'Limits' 네임 스페이스를 추가했다면,'Limits'에서 정의한 타입과 똑같은 기능을 얻을 수 있습니다. 이 질문은 어디에서 오는 것입니까? – tnw

+1

'한계'프로젝트에 대한 참조를 추가해야 작동합니다. – CSharpie

답변

1

당신은 네임 스페이스를 지정하지 않고 수업에 액세스 할 수 있어야합니다 당신의 클래스의 상단에

using Limits; 

를 추가하여.

이름 충돌이있는 경우 한 가지 예외가 있습니다. 즉, 사용중인 다른 네임 스페이스의 클래스와 동일한 이름을 가진 Limits에 클래스가 있음을 의미합니다. 이 경우 을 지정해야합니다.이 경우 클래스에 대해 이야기하고 있습니다. 예를 들어

, 당신은 클래스를 사용하여 네임 스페이스를 포함해야 할 것이다 당신은 LimitsForm라는 클래스가 (당신은 또한 System.Windows.Forms 네임 스페이스를 사용하는) 경우 : AS를

Limits.Form = form = new Limits.Form(); 

당신은 수를 당신의 using 문에서 대체 사용 별칭을 : 빌드가 실패 할 때

때때로
using MyForm = Limits.Form; 

... 

MyForm form = new MyForm(); 
0

, 당신이 네임 스페이스에있는 클래스 상황을해야합니다 참조 된 프로젝트가 표시되지 않습니다. 그렇다면 Limits 네임 스페이스가있는 프로젝트를 다시 빌드하고 싶을 것입니다.

관련 문제