This is one which drives me bonkers (sometimes, when I make the mistake of thinking about it):
Take a class, Class1, with private property "counter":
Private Property counter as Integer = 0
... and public method "test":
Public Sub test()
me.counter = me.counter + 1
var instance2 as Class1 = new Class1()
instance2.counter = 200
Somewhere else, try:
var instance1 as Class1 = new Class1()
instance1.counter = 100 // problem, won't run as "counter" is private
All OK, apart from the last line, where I'm told "counter" is private.
In my naivety, I had always expected that "counter" would also be private where I access it on "instance2" in the test method.
ie: that yes, you can access the property from the "me" object, but not for other instances.
And having tried similar on C++ and C# and PHP environments, they all do the same, so clearly it's my misunderstanding and is the way they are supposed to work, and not a mistake.
Turns out I've been wrong for decades ...