Why shouldn't I use public variables inside a class?


Sep 4, 2002
Lancashire, UK
I take it you mean the idea of exposing variables as public rather than using properties...

The problem with public variables is the fact they can be modified from anywhere in the application with no restriction or validation whatsoever. If you declare the field as a property then you could perform validation in the set part to ensure any values assigned are valid or simply omit the set entirely to make the property read only and only allow changes through appropriate public methods. This effectively gives you more control over where changes to these variables can be made, allowing you to implement and validation or associated logic in one single place rather than multiple times throughout an application.
Top Bottom