Public Fields vs. Public Properties
Just came across this post in my feeds this morning. Interesting read.
I think there is a lack of consistency in implementations (event handlers being the classic case), but the contract/interface argument leans me towards always wrapping fields in properties. Using properties also means that you can change the code without having to change the structure of the class.