1
A
답변
3
정확하게 이벤트 처리기가 연결될 때와 그 주변에서 어떤 차이가 있습니다. 예를 들어, WithEvents
및 Handles
을 사용하면 컴파일러는 속성에서 이벤트를 노출하는 인스턴스를 보유하는 변수에 대한 액세스를 래핑하는 코드를 내보내고 속성 설정자에서는 이전 인스턴스 (있는 경우)에서 이벤트 핸들러를 분리합니다. , 새 인스턴스에 이벤트 처리기를 연결하십시오 (있는 경우).
WithEvents
경우
' WithEvents approach '
Dim WithEvents mm As SomeClass
Sub Main()
mm = New SomeClass()
Dim nn As SomeClass = mm
End Sub
' Other approach '
Dim mm As SomeClass
Sub Main()
mm = New SomeClass()
Dim nn As SomeClass = mm
End Sub
, mm = New SomeClass()
사실에 속성 setter를 호출하고, Dim nn As SomeClass = mm
이 값을 가져옵니다 :
이
는 다음 코드 샘플을 채취하는 경우,mm
에 대한 액세스가 다르게 작동한다는 것을 의미 두 번째 경우에는 값에 대해 생성 된 속성이 없지만 코드는 필드에 직접 액세스합니다. ** AddHanlder **에 최적 사용 즉
0
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'this
AddHandler Button2.Click, AddressOf Button2_Click
'now Button2_Click looks like this
'Private Sub Button2_Click(ByVal sender As System.Object, _
'ByVal e As System.EventArgs) Handles Button2.Click
End Sub
+2
일 수 있습니다. Distructor 비헤이비어를 잊었을 때 핸들은 버튼에서 핸들러를 제거합니다. – serhio
관련 문제
- 1. 핸들 대 AddHandler
- 2. 스레드 ID 대 스레드 핸들
- 3. Solr 대 Websolr의 차이점은 무엇입니까?
- 4. Backbone.js 대 Pusherapp - 차이점은 무엇입니까?
- 5. Boo 대 Nemerle의 차이점은 무엇입니까?
- 6. $ (jquery를위한 visual studio에서 ... $ addHandler (
- 7. Memristors 대 신경망 노드, 그 차이점은 무엇입니까?
- 8. 공장 소녀 대 User.create - 차이점은 무엇입니까?
- 9. 데이터 스토어 카테고리 대 문자열 : 차이점은 무엇입니까?
- 10. git 프로젝트 대 저장소, 근본적인 차이점은 무엇입니까?
- 11. 스프링 구성에서 name 대 id의 차이점은 무엇입니까?
- 12. NSString alloc : initWithCString 대 stringWithUTF8String의 차이점은 무엇입니까?
- 13. Django : 차이점은 무엇입니까 HttpResponse 대 HttpResponseRedirect 대 render_to_response
- 14. 우분투 대 우분투 대 설치, 그 차이점은 무엇입니까?
- 15. 핸들 대 스마트 포인터. 무엇을 사용할 것인가?
- 16. AddHandler/RemoveHandler가 올바르게 처리되지 않음
- 17. 창 핸들 핸들 (c)
- 18. "핸들"이란 무엇입니까?
- 19. WPF와 Silverlight의 차이점은 무엇입니까?
- 20. 컨트롤 핸들
- 21. 핸들 클릭은
- 22. window.onload 대 body.onload 대 document.onready
- 23. 재설정 (핸들, 1)이란 무엇입니까?
- 24. 최대 절전 모드에서 bag 대 idbag의 차이점은 무엇입니까?
- 25. Google 검색 대 빠른 ESP - 기술적 차이점은 무엇입니까?
- 26. IntelliJ + Ruby Plugin 대 RubyMine의 큰 차이점은 무엇입니까?
- 27. XML 피드 대 XML 문서 구문 분석 - 차이점은 무엇입니까?
- 28. "this"대 "prototype"을 통해 함수를 할당하는 것의 차이점은 무엇입니까?
- 29. Firefox 3 대 Firefox 4 개발의 차이점은 무엇입니까?
- 30. Cx + wxWidgets, 유니 코드 대 ASCII, 차이점은 무엇입니까?
,의는, * 자원 *과 속도, ** 코드에 대한 WithEvents는 **가 * 가독성을 가정 해 봅시다 *? .. – serhio
그리고 무엇 분리에 대한 개체가 더 이상 그것에 대한 참조가 없을 때 이벤트 처리기? – serhio
@serhio : WithEvents를 사용하여 가독성을 높이는 방법에 대한 논의가있을 수 있지만, 일반적으로 나는 당신이 옳다고 생각합니다. 'WithEvents'는 필드를'Nothing'으로 설정할 때 이벤트 핸들러를 분리하는 메커니즘도 가지고 있습니다. 이벤트 처리기를 분리하지 않으면 오브젝트가 가비지 수집되지 않습니다. –