我已經寫在VBA一類的類內不可見的,其成員並設置屬性如下:讓私人/公共獲取 - 讓來自
Private mSomeVar As String
Public Property Get SomeVar() As String
'...
End Property
Private Property Let SomeVar(value As String)
'...
End Property
這似乎是相當標準的做法 - 讀 - 只有帶有私人Let函數的屬性,所以類本身可以修改這個值,並且我可以在屬性體中應用一些邏輯(驗證等),同時防止類外的任何內容改變它。
的問題是,當我嘗試類內使用私人財產的VBE告訴我,它不能被發現:
Private Sub SomeInternalMethod()
'Compile error: Method or data member not found
Me.SomeVar = "new value"
End Sub
爲什麼我不能使用該類自己的私有類內部的屬性?如果他們在內外都不可見,是否有可能使用私有財產?
的可能重複[爲什麼不能在自己的模塊中的VBA Me關鍵字訪問私有程序?(http://stackoverflow.com/questions/1895633/why-cant-the-vba -Me關鍵字存取私人程序,在其通自己的模塊) – RubberDuck