我仍然处于从VB6到.Net重新思考的过程中,所以请原谅这是否是微不足道的。
在课堂上我有可以改变的属性,当他们这样做时,他们应该举起一个Changed
事件。
Public Class CPT
Public Event Changed()
Private gsText As String
Public Property Text() As String
Get
Return gsText
End Get
Set(ByVal sValue As String)
If sValue <> gsText Then
gsText = sValue
RaiseEvent Changed()
End If
End Set
End Property
End Class
另一个类使用Add
方法,在其中将上面的新项添加到集合中。
Public Class UFB
Private goTexts As New Dictionary(Of String, CPT)
Public Sub Add(sKey As String, sText As String)
Dim oPT As New CPT
oPT.Text = sText
goTexts.Add(sKey, oPT)
End Sub
End Class
显然,UFB
个对象无法接收Changed
个事件,因为oPT
未在模块级别声明,因此无法显示WithEvents
。
启用UFB
CPT
个Changed
事件(出现在许多其他CPT
属性中)的.Net方法是什么。< / p>