#252 – Automatic Properties
February 24, 2011 Leave a comment
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.