【问题标题】:Object from module sees private variable from class模块中的对象看到类中的私有变量
【发布时间】:2018-02-24 14:10:53
【问题描述】:

我不知道我是否做错了,但我认为这不正常。 我有课clsPerson

Private pNameFirst As String

Public Property Get NameFirst() As String
     NameFirst = pNameFirst
End Property
Public Property Let NameFirst(sNameFirst As String)
     pNameFirst = sNameFirst
End Property

现在在模块中我有程序test

Sub test()
    Dim Person As New clsPerson

    Person.NameFirst = "test"
End Sub

当我查看 Locals 并打开 Person 对象时,我可以看到我的私有变量 pNameFirst

为什么?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    locals 窗口仍将显示类中的私有变量。在模块中你不能做的是直接改变私有变量的值。

    本地窗口将显示您声明的所有变量并忽略范围。

    编辑:

    在此处查看进一步的讨论:

    Should I have to have duplicate values in VBA class objects?

    【讨论】:

      猜你喜欢
      • 2018-05-08
      • 2014-02-09
      • 2018-08-18
      • 2017-10-31
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      相关资源
      最近更新 更多