This should not be the choice you really make. It is assumed that either the code in the setter should work, or in this case use the property, or not, in which case you are using a member variable. In most situations, everything is correct, but one is wrong. In the general case, none of them is right / wrong, and it is unusually "unimportant" for him.
For example, if the installer code fires a “modified” event, do you want external objects to be notified of the change or not? If you change it in response to a previous change, maybe not (infinite recursion?), If not, you probably want to make sure it is fired (so you don't change the value and notify about the changes).
If he simply checks the correctness of the set value, then you know that in this context the value is already checked and must be valid, and in this case there is no need to check again; set the property. If you have not confirmed what you are going to install, then you want the verification logic to run, so use the property.
Servy source share