#252 – Automatic Properties
February 24, 2011 2 Comments
The typical syntax for a property implementation in C# is to define the public interface for the property and then have the implementation of the get and set accessors for the property read/write to a private backing variable.
private string name; public string Name { get { return name; } set { name = value; } }
C# provides a shortcut for this structure through the use of automatic properties. You can avoid declaring the private backing variable and implementing the get/set accessors by simply declaring the get/set accessors without a body.
public string Name { get; set; }
When you declare a property this way, it appears exactly the same to any client code. The underlying code generated by the compiler is also the same–a public property with a backing variable–but you don’t actually have access to the backing variable.