When I write a class I always expose private fields through a public property like this:
private int _MyField; public int MyField { get{return _MyField; } >
I think best practice is not to do it. Unless you have some extreme performance need where you must access the field directly don't do it.
Here is a good article about it:
http://csharpindepth.com/Articles/Chapter8/PropertiesMatter.aspx