2011-11-08 2 views
0

새로운 양식을 시작 양식으로 설정할 수 없었으므로 기존 양식이 아니라고 불평했습니다. 하지만 몇 분 후에 "Namespace.NewForm"을 입력하여 시도해 보았습니다. 내 다른 프로젝트에서시작 양식을 선택할 때 왜 네임 스페이스를 지정해야합니까?

는 시작이로 설정됩니다

 Application.Run(new MyForm()); 

이유는이 프로젝트에서 시작 폼을 변경할 때 네임 스페이스를 지정했을까요? 당신이 그것을위한 using 지시가 없었 아마도 때문에

+1

에 대한 액세스를 제공하지 않는 것을 의미한다. 즉, 일반적으로 필요하지 않으며, WinForm 프로젝트는 기본적으로 동일한 네임 스페이스에 배치됩니다. –

+0

당신은 그것이 바위 인 것을 기억한다, 그것을 잊는 것을 잊었다! – fgblomqvist

답변

1

using 지시문을 사용하면 문제의 네임 스페이스에있는 형식을 완전히 정규화 할 필요가 없습니다.

using MyNameSpace; 

또한 C#으로 지시어를 사용하여 당신은 당신이 (다만 경우에 당신이 궁금해하는)를 지정 네임 스페이스에 중첩 된 네임 스페이스에 대한 액세스 권한을 부여하지 않는 것이 지적 가치가있다. 이

using System; 

당신이 MyForm을 내 포함 된 네임 스페이스 다음 네임 스페이스 프로그램에 포함되어 다른 의미 System.IO

4

:

using SomeNamespace; 

... 

Application.Run(new SomeForm()); 

Application.Run를 호출하는 데 사용되는 코드에 대한, 특히 다른 아무것도 아니다 - 그것은 C 번호의 일반 규칙에 따라, 단지 보통의 C# 코드입니다.

0

여기에는 공유하는 것보다 더 많은 컨텍스트가있는 것 같습니다. 수행중인 작업과 관계없이 MyForm을 참조하는 모든 영역은 해당 참조를 정규화 된 클래스 (네임 스페이스 포함)로 해결할 수 있어야합니다. 즉, 정규화가 필요하거나 파일 상단의 using 문에 네임 스페이스가 포함되어야합니다 (모호하지 않아야 함).

"작동중인"버전에는 이미 using 지시문이 있고 "작동하지 않는"버전은 단순히 작동하지 않습니까? 버전이 다른 곳에서 시작 양식을 설정하려고합니까?

"작동중인"버전에는 using 지시어가 이미 있고 그 이유는 무엇이든 "작동하지 않는"버전이 아닌 것으로 판단됩니다.

관련 문제