You shouldn't have to write the above for the hundred and first time:
Don't write getters and setters, generate them instead. I expect your
IDE allows you to generate getters and setters automatically. I'm used
to Eclipse (for Java) which does this for any fields defined in a class.
The SharpDevelop IDE for C# seems to have this feature. I've never used
Visual Studio but I'd be surprised if it didn't have this feature too.
With a caveat: you should be selective about which properties have
setters.
Really, you should start off assuming that all properties are read-
only unless you have a good reason to make them settable. I find that
most properties in most of my classes are read-only. They are set
either through the constructor or as an effect of some method in the
class. I do have a healthy number of settable properties, but I would
estimate it at less than half.
One of the problems with property generators (and with simply using
fields) is that programmers become lazy. They automatically, without
thinking, just generate setters (or use fields) for everything,
whether they're needed or not.
In the end, I find that it's not that much more work to use
properties, even if they're just fronting a field.
Nobody has brought up the subject of classes that are just holding
buckets for data, but even these cases I tend to use properties,
simply because such classes are so rare that it isn't worth breaking
the pattern just for a handful of exceptional cases.