Leo Steeves
Leo Steeves

Reputation: 55

Property Let creates an unwanted variable

I can't find anything on this anywhere so here's my problem (although it is mostly a cosmetic one):

I have a class being used as a custom data type, but when I look in the locals or watch window I see that each Property Let has created an extra variable, which clutters the window with redundant variables and information (and potentially takes up extra space).

Example:

In class module Class1:

Private data As Integer

Property Get X() As Integer
    X = data
End Property

Property Let X(ByVal Value As Integer)
    data = Value
End Property

And to test:

Sub Test1()

Dim TestClass As Class1
Set TestClass = New Class1

TestClass.X = 100

End Sub

In the locals window:

locals window

Am I supposed to be recycling this extra variable somehow or am I doing something else wrong?

--- If you look at stock Excel objects (like a Worksheet) there are no duplicate variables whatsoever.

Edit: To clarify, I want to know if there is a way to hide the Property in the locals/watch window to make them easier to navigate.

Upvotes: 0

Views: 142

Answers (1)

Michał Turczyn
Michał Turczyn

Reputation: 37347

It's fine. data is your private variable and X is just property. Nothing wrong about that. But you should consider naming convention, setters and getters for private variable should be somehow consistent, for example:

'Member variable, pName - private Name
Private pName As String

'Properties
Property Get Name() As String
    Name = pName
End Property

Property Let Name(val As String)
    pName = val
End Property

Upvotes: 2

Related Questions