프로그래밍언어/VB.NET

문자열로 Sub 호출하기

부산딸랑이 2014. 3. 23. 06:06

http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=45&MAEULNO=18&no=511&page=1


이런저런 코딩중에 좀 더 간단한 Sub호출을 위해 방법을 찾다가 알게 된건데요...

항상 클릭 이벤트를 받아서 select case 등으로 각각의 서브를 호출했었는데 

간단히 문자열로 Sub를 호출하는 방법이 있었네요같은 클래스 안에서 

호출될 sub는 Public으로 선언되어야 하는듯 하구요

(저는 여기저기 코드 짜집기로 독학한 케이스라 자세한건 잘 모릅니다;;;)

CallByName(Me, [String 변수], CallType.Method)

이렇게 하면 처음에 import 해야하는것도 없고 아주 간단히 호출이 되더군요

혹 저처럼 짜집기독학 하신분중에 모르시는분 계실까봐 그냥 작은 팁으로 올립니다.



---- 내용 추가 ----

(클래스 만들다가 Me가 아닌 다른건 당최 안되길래 검색하다가 알게되었네요)
class Form1 안에서는 'Me'로 하시면 되고 다른 클래스 등에서는 'New 클래스이름' 하시면 됩니다.


[활용 예]
여러개의 버튼이 있고 각 버튼마다 이벤트를 실행해야할때

버튼이름을 sub 이름과 동일하게 만들거나 

Sub ABC() 이렇게 서브만들고 버튼이름은 btn_ABC 이렇게 해놓고

컨트롤 배열을 만들어서 핸들러를 추가한다음 한 서브에서 이벤트를 받아서 

컨트롤 name을 그대로 CallByName으로 분기시키거나 replace로 btn_을 지우고 분기...

위와 같이 호출하면 긴~ 코딩을 간단히 한줄 또는 두세줄로 끝낼 수 있겠네요


'프로그래밍언어 > VB.NET' 카테고리의 다른 글

좌표값 픽셀가져오기  (0) 2014.03.28
마우스좌표 가져오기  (0) 2014.03.28
변수이름으로 컨트롤 접근  (0) 2014.03.19
배열내 갯수 출력  (0) 2014.03.10
GetPixel 로 불러온값을 Color 로 변환  (0) 2014.03.09