And indexers. By using these constructs for indirect use of interior fields, you could guard versus invalid input values. @Kent factors out that Properties aren't required to encapsulate fields, they might do a calculation on other fields, or serve other functions. I would prevent incorporating a default into the constructor; https://adoreprojectsgurgaon.blogspot.com