는,이 컴파일 :C#에서 대 비주얼 Basic.NET에서 네임 스페이스의 차이는 그들과 함께 처리하는 방법 C#에서
namespace Name
{
public class Test
{
}
public class TestUse
{
private global::Name.Test test;
}
}
당신이 VB.NET에서 같은를 시도 할 경우, 그러나, 그것은하지 않습니다 :
Namespace Name
Public Class Test
End Class
Public Class TestUse
Private test As Global.Name.Test
End Class
End Namespace
나는 (내가 "테스트"를 사용하려고하는 방식에 따라) 수 중 " '이름' '< 기본 >'의 구성원이 아닙니다." 또는 "Type 'Name.Test'가 정의되지 않았습니다." 내 오류 목록에. 나는 그것을 작동시키는 두 가지 방법을 찾았지만 어느 것도 사용자의 기대에 부합하지 않는다. 하나는 프로젝트 속성에서 "루트 네임 스페이스"를 제거하는 것입니다. 다른 하나는 "전역"과 "이름"사이에 해당 네임 스페이스를 포함시키는 것입니다.
저는 C# 및 VB.NET 용 코드를 생성하기 위해 CodeDom을 사용하는 사용자 지정 도구를 만들었습니다. 이것이 위의 두 수정 중 어느 것도 가능하지 않은 이유입니다. 사용자가 빈 네임 스페이스를 가질 것으로 기대할 수는 없으며 코드 생성에서 VB 관련 트릭을 수행해야합니다. "루트 네임 스페이스"를 고르는 것 (내 머리 꼭대기가 어떨지 알 수는 없지만)을 코드 생성에 포함시키는 것과 같은 언어 중립적 인 도구를 사용하는 것이 목적입니까?
생성 된 출력에 대해 나쁜 이름을 선택하는 사용자로부터 도구를 보호하므로 전역 수정자를 제외하고 싶지 않습니다. 아무도 내가이 문제를 어떻게 처리해야하는지에 대한 제안을 가지고 있습니까?
현재 확인을 위해 Windows 컴퓨터가 없지만 "개인 테스트로 테스트"라고 말할 수는 없습니까? 내가 포함 된 네임 스페이스가 자동으로 검색 중에 검색된 것으로 생각했습니다. –