2017-12-14 2 views
2

내가 가장 적합한 제목인지는 확실하지 않지만 정확한 위치를 정규화하여 다른 함수에서 액세스 할 수있는 특정 하위 및 함수를 설정하려고합니다.방법에 대한 전체 경로 강제 적용

예를 들어 modShared라는 모듈이 있습니다. 이 모듈에는 Form을 반환하는 LogForm이라는 함수가 있습니다.

내 코드의 다른 영역에는 이름이 로그로 시작하는 함수가 있으므로 LogForm 함수 만 액세스 할 수 있도록하고 LogForm이 아닌 modShared.LogForm을 입력하면 Intellisense에만 표시되도록하고 싶습니다.

대단히 도움이 될 수 있기 때문에 가능합니까?

감사

+1

가능한 복제본 [VB.Net - Variab 모듈의 레즈] (https://stackoverflow.com/questions/27913950/vb-net-variables-in-modules) –

+0

마지막 단락과 코드 블록은 필요한 것입니다 –

+0

고마워요,하지만 저는 "얻지 못했습니다" 그들이 그 링크에서 말하고있는 것이었지만 아래의 게시물은 나를 위해 일했습니다. –

답변

1

그냥 정적 클래스에 모듈을 변경하고 모든 방법에 Shared modifier을 적용하고 당신이 가서 잘되어야합니다. 이 일을

Public NotInheritable Class modShared 
    Private Sub New() 'Prevent initialization. 
    End Sub 

    Public Shared Function LogForm() As Form 
     'Do stuff... 
    End Function 
End Class 
+0

빠른 응답을 보내 주셔서 감사합니다. 그것은 완벽하게 작동하지만, 모든 하위, 함수, 변수 등을 거쳐 공유로 설정해야한다는 것을 의미합니다. 나는 그것이 모듈 선언이나 뭔가에 추가하는 빠른 키워드일지도 모른다고 생각했다. 어쨌든, 그것은 내가 원하는 것을 나에게 준다. 감사! :-) –

+0

@SteMoore : 다행스럽게 도울 수 있어요! 미래를위한 두 가지 팁을 사용하여 메소드를 수정하는 과정을 가속화 할 수 있습니다 : ** 1) ** 'Shared' 단어를 복사 한 다음 선택을 삽입하려는 위치로 이동하고'CTRL + V '를 누릅니다. 붙여 넣기 (모든 방법에 대해 반복). || ** 2) ** CTRL + F를 눌러 Visual Studio의 찾기 및 바꾸기 대화 상자를 엽니 다. 현재 문서에서만 검색 한 다음 '공개'를 검색하고 모두를 '공용 공유'로 바꾸십시오. –

+0

@SteMoore : 대체 할 때 좀 더 진보 된 일을 할 준비가 되었다면'찾기와 바꾸기 '대화 상자에서 정규 표현식을 활성화하고'(Private | Protected | Friend | Public)'을 검색하고' \ 1 Shared'입니다. –

0

한 가지 방법은 Namespace

Namespace UtilityMethods 
    Module modShared 

     Public sub LogForm() 
      'Code Here 
     End sub 

    End Module 
End Namespace 

내부에 모듈을 배치합니다 그리고 당신은 어느 쪽인지를 호출하여이 코드를 사용할 수

UtilityMethods.LogForm 

또는

Namespace UtilityMethods 

    Public Class MyClass 

     Public sub ClassMethod 

      LogForm() 

     end sub 

    End Class 

End Namespace 
+0

이전에 답장 한 사람이 있다면 ... 이미 모든 것을 공유 한 NotIheritable 클래스로 모든 것을 변경했습니다. 나는 이것을 미래에도 생각할 것이다. 감사 –