Private properties allow you to abstract your internal data so that changes to the internal representation don't need to affect other parts of your implementation, even in the same class. Private fields do not offer this advantage. With automatic properties in C# 3.0, I rarely see a need to implement fields directly -- private or public.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…