My first thought was to create a method called setDefaults.. in the method, set all of the class properties to the defaults I want.. and call that method at the start of each constructor. Is that correct?

If it's just a primitive or value type like string and you're not doing any extra work in your getter/setter, a property seems like overkill. You could just say public string StrProp = "default"; and leave it at that.

If it's just a primitive or value type like string and you're not doing any extra work in your getter/setter, a property seems like overkill. You could just say public string StrProp = "default"; and leave it at that.

Well I made a simple example, lets say that the set is private.. that makes my question more valid I guess.

Correct, no one is - I was just double checking to make sure I wasn't missing some new built in sugar for default values.

I've seen this in some other articles after a lot of searching, if you're using the automatic properties, and want to set default values: Make a method that sets up all of the property's default values, and call this method in each constructor. This way if you want to change the default value, it only needs to be done in one spot.

My first thought was to create a method called setDefaults.. in the method, set all of the class properties to the defaults I want.. and call that method at the start of each constructor. Is that correct?