 Recent C# versions also allow "auto-implemented properties" where the backing field for the property is generated by the compiler during compilation.This means that the property must have a setter.However, it can be private.