Поскольку вы можете прозрачно (с точки зрения клиентского кода) изменить реализацию метода установки / получения, то вы не сможете сделать то же самое, если будете напрямую предоставлять базовое свойство (поскольку оно не будет двоично-совместимым.)
Существует определенный запах кода, связанный с автоматическими свойствами, тем не менее, поскольку они позволяют без труда обдумать некоторую часть состояния вашего класса, не задумываясь.Это также относится и к Java, где во многих проектах вы найдете get/setXxx
пары повсюду, демонстрирующие внутреннее состояние (часто без какой-либо необходимости, «на всякий случай»), что делает свойства по существу открытыми.