Я манипулирую полями внутри конструктора. Поля действительно представляют внутреннее состояние вашего объекта, и задача конструктора - инициализировать это внутреннее состояние. Свойства предназначены только для целей инкапсуляции и являются частью открытого интерфейса с состоянием объекта.
Логика преобразования, которую вы применяете к аргументам конструктора или к входным значениям свойств перед установкой внутреннего состояния объекта, может сильно отличаться. В любом случае, если это так, я использовал явный метод преобразования, вызываемый из установщика свойств и из конструктора, вместо прямого связывания конструктора в установщике свойств.
Если логики вообще нет, я не понимаю, почему вы хотите использовать установщик свойств внутри конструктора.