The code you posted is valid. I don't see different definition here. It is allowed to redim variables as long as the type is the same.
I disagree. If I have a class, I should not be able to declare the same variable twice, even if the data types are the same with different default values. The default value is part of the property definition. Does anyone else have an opinion?
Thinking of a large class, with many public variables, if I have a default value assigned, with code somewhere else in the project depending on
that specific value, being able to redefine the variable a second or even a third time, could lead to bugs in my code. I think it would be more common with projects with multiple people working on it (one guy defines one default value and depends on that value, the other with another that also depends on the other defined default value, with no errors/warnings).
At the very least, I think a warning should be generated highlighting I have done such.
Another way to look at it is, what programming benefit would there be in the above example of being able to define the same variable with different default values? Im serious, how can I take advantage of this?