I am aware of the advantages of using properties over fields, like being able to provide additional logic when required in the future.
But I really wonder why it's not possible to use public fields for data binding or even for JSON serializers like JavaScriptSerializer class.
Is there any good reason to ignore public fields in these cases? Or is it just some kind of convention? Or just to force users to use properties?