dcsimg
Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: VB7
Expertise: Advanced
Nov 17, 2003

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


AddHandlerByName - Attaching to an object an event handler by name

' A generic routine that takes an object, an event name, and a list of potential
' delegates to event handlers, and selects the first delegate that matches the
' expected signature of the event handler.
' 
' Example:
'    AddHandlerByName(da, "RowUpdated", '       New OleDbRowUpdatedEventHandler
' (AddressOf OnOleDbRowUpdated), 
'       New SqlRowUpdatedEventHandler(AddressOf OnSqlRowUpdated))

Sub AddHandlerByName(ByVal obj As Object, ByVal eventName As String, _
    ByVal ParamArray events() As [Delegate])
    ' Get the type of the object argument.
    Dim ty As System.Type = obj.GetType()
    ' Get the EventInfo corresponding to the requested event
    Dim evInfo As System.Reflection.EventInfo = ty.GetEvent(eventName)
    ' Get the delegate class that represents the event procedure
    Dim evType As System.Type = evInfo.EventHandlerType

    ' Compare this type with arguments being passed.
    Dim del As [Delegate]
    For Each del In events
        If del.GetType Is evType Then
            ' If this is the right delegate, add it to the list of event 
            ' handlers and exit.
            evInfo.AddEventHandler(obj, del)
            Exit Sub
        End If
    Next
End Sub
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date