¿Por qué no podemos usar campos públicos para el enlace de datos en C #?

Soy consciente de las ventajas de usar propiedades sobre los campos, como poder proporcionar lógica adicional cuando sea necesario en el futuro.

Pero realmente me pregunto por qué no es posible utilizar campos públicos para el enlace de datos o incluso para los serializadores JSON como la clase JavaScriptSerializer.

¿Hay alguna buena razón para ignorar los campos públicos en estos casos? ¿O es solo una especie de convención? ¿O simplemente para obligar a los usuarios a usar propiedades?

Respuestas a la pregunta(3)

Su respuesta a la pregunta