And indexers. By using these constructs for indirect access to internal fields, you are able to guard in opposition to invalid input values. If you at any time should change the fundamental implementation you're still free of charge to refactor them as properties without having breaking any dependent code. Here https://medium.com/@MaxEstatesGurgaon