Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools


Here it is some code that shows how to use reflection to dynamically set an event handler for a class' event.

Click here to copy the following block
Sub TestSub()
  ' create a Person
  Dim pe As New Person()

  ' get a reference to the EventInfo for this object
  Dim peEv As EventInfo = pe.GetType.GetEvent("PropertyChanged")
  ' create a delegate to the local procedure
  Dim peDel As [Delegate] = [Delegate].CreateDelegate(peEv.EventHandlerType, _
    Me, "PropertyChanged")
  ' make the local procedure a handler for the event
  peEv.AddEventHandler(pe, peDel)

  ' set a propety via reflection to prove that it works
  ' note how you can create the array of arguments on the fly
  pe.GetType.InvokeMember("Name", BindingFlags.SetProperty, Nothing, pe, _
    New Object() {"John"})

  ' (always remove event handlers)
  peEv.RemoveEventHandler(pe, peDel)
End Sub

Private Sub PropertyChanged(ByVal propertyName As String, _
  ByVal newValue As Object)
  MessageBox.Show("Property " & propertyName & _
    " has changed. The new value is " & newValue.ToString)
End Sub

Class Person
  Event PropertyChanged(ByVal propertyName As String, _
    ByVal newValue As Object)

  Dim m_Name As String

  Property Name() As String
    Get
      Return m_Name
    End Get
    Set(ByVal Value As String)
      If Value <> m_Name Then
        m_Name = Value
        RaiseEvent PropertyChanged("Name", m_Name)
      End If
    End Set
  End Property
End Class


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.