我正在研究一些VB6,它在类定义中有一些代码可以归结为:-
Private intMyValue as Integer
Public Property Get MyValue as Integer
MyValue = intMyValue
End Property
Public Sub DoFoo (ByVal MyValue As Integer)
Dim bar As Integer
bar = MyValue
End Sub
问题是:在bar
的赋值中,使用的是属性还是参数?
通过逐步执行代码并在调试环境中为inMyMyValue分配一个已知值,我确定了该参数,而不是所使用的属性。
不过,我看不出有任何从第一原理推论得出的方法。还是最接近的VB6还是要遵循首要原则。
一种检查方法是查看IDE认为将使用的内容。
这里是一个例子:
Property Get test() As Integer
test = 1
End Property
Private Sub test2(test As Integer)
Debug.Print test 'Place cursor here
End Sub
如果将光标放在指示的行中的test
上,然后按Shift + f2(或右键单击并选择Definition),它将在[ C0]。
作为仔细检查,如果您将参数重命名为其他名称,然后再次执行此操作,则会突出显示名为test
的属性。
我认为这与编译器一致。