I have an abstract class and I\'d like to initialize a readonly field in its protected constructor. I\'d like this readonly field to be available in derived classes.
Using a private field and a protected getter has a slight advantage: you don't cause an additional level of indirection.
Don't forget the c# shorthand way of declaring properties:
protected int Field { protected get; private set; }