我编写了一个函数,希望在特定变量发生变化时自动调用它。 我怎么能这样做?
答案 0 :(得分:4)
您可以使用属性的setter来执行此操作:
Private _YourObject As Object
Public Property YourObject() As Object
Get
Return _YourObject
End Get
Set(ByVal value As Object)
_YourObject = value
ExecuteYourFunction()
End Set
End Property
这样,只要设置了属性,就会调用函数ExecuteYourFunction
。
请注意,当特定变量更改"时,这不一定在语义上或功能上与"相同。 - 当您的"特定变量"时,会调用ExecuteYourFunction
是设置,而不是将其更改为与之前保持的值不同的值。如果当且仅当分配给您的属性的值与之前保存的值不同时才需要执行函数,您需要添加条件以检查(预分配)是否value
是等于yourObject
,在这种情况下只调用ExecuteYourFunction
。
答案 1 :(得分:1)
我会对furkle的答案做一个评论,但你必须有50个评论的声誉而且我只有46个。
由于VB不区分大小写,因此除了yourObject之外,还需要将支持变量命名为。一种流行的方法是将其命名为_YourObject,如果你刚刚做了,编译器就会调用它
Public Property YourObject As Object
未指定Get / Set方法。