Namespace interfaces2 Public Interface ICompany Property Name() As String Event NameChanged() End Interface Public Class Business Implements ICompany Dim m_sCompanyName As String Public Property CompanyName() As String Implements ICompany.Name Get CompanyName = m_sCompanyName End Get Set(ByVal Value As String) m_sCompanyName = Value 'Signal event now that the name has changed RaiseEvent NameChanged() End Set End Property Public Event NameChanged() Implements ICompany.NameChanged End Class Module CompanyTest Sub OnNameChanged() Beep() End Sub Sub Test(ByVal Company As ICompany) 'Add handler for interface event NameChanged AddHandler Company.NameChanged, AddressOf OnNameChanged 'This will cause the event to be signaled Company.Name = "My Company" End Sub End Module End Namespace