If the recipient and the setter have no side effects, it makes no sense to make a private property to wrap the private field. Either use the field, or do with it, or use the auto-property. Do not write six lines of code to express the intent of one line; you just make your code harder to read.
Now, if your setter had side effects, then this is another matter. In this case, it is good to have a directive that you should not set the field outside the property, but consider that the constructor may also need to set the field. (Initially, setting the state of an object may require that you bypass side effects.) There may also be other cases when you want to use this field (deep copy, load / save, etc.), but why use the property should be guiding rather than a hard rule: you want to give it an extra thought before going around the property.
As for the naming conventions, obviously it is up to you, but it seems strange to me that I have a camelCased property. Throughout the code I've seen, PascalCased properties, even if they are private.
source share