You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB6中参数与属性的优先级:赋值时调用参数还是属性?

答案:是Parameter(参数)

在你给出的VB6代码片段中,bar = MyValue这行里的MyValue是过程参数,不是类的属性。

原因说明:

VB6的作用域规则里,过程(Sub/Function)内部的参数或局部变量,优先级会高于类的成员属性。这里的DoFoo Sub定义了一个同名的MyValue参数,它的作用域仅限于这个Sub内部。类的Public Property Get MyValue虽然名字相同,但在DoFoo内部会被参数"遮蔽"——除非你显式使用Me关键字指定要访问类的成员,否则编译器会默认解析为当前作用域内的参数。

如果想要在DoFoo里访问类的MyValue属性,需要显式加上Me前缀:

Public Sub DoFoo (ByVal MyValue As Integer)
    Dim bar As Integer
    bar = Me.MyValue ' 此处才会访问类的MyValue属性
End Sub

内容的提问来源于stack exchange,提问作者Brian Hooper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 14:27:35