Module ClassWithEvent Private WithEvents m_myHeater As New Heater(32) Sub Main() Dim i As Integer For i = 1 To 5 ShowStatus() m_myHeater.IncreaseHeat() Next Console.ReadLine() End Sub Private Sub ShowStatus() Console.WriteLine("Temperature = " & m_myHeater.Temperature) End Sub Private Sub m_myHeater_Boil() Handles m_myHeater.Boil Console.WriteLine("Water is Boiling!! Temperature = " & m_myHeater.Temperature) End Sub End Module Public Class Heater Private m_Temperature As Integer Public Event Boil() Public Sub New(ByVal StartingTemp As Integer) m_Temperature = StartingTemp End Sub Public Sub IncreaseHeat() Console.WriteLine("Increasing Heat") m_Temperature *= 2 'If m_Temperature >= 212 Then 'm_Temperature = 212 RaiseEvent Boil() 'End If End Sub Public Property Temperature() As Integer Get If m_Temperature > 212 Then m_Temperature = 212 End If Return m_Temperature End Get Set(ByVal Value As Integer) m_Temperature = Value End Set End Property End Class