Automatic Properties
It is very common to write something like the following (often repeatedly) in your classes:
private int hour;
public int Hour
{
get { return hour; }
set { hour = value; }
}Recognizing this, the C# 3.0 compiler will allow you to write the following, as a shortcut for the previous code:
public int Hour { get; set; }The net effect is exactly the same: the compiler generates the same underlying code for you, and you are free at any time to fill in the accessors and the backing variable yourself, but this shortcut saves many hours of coding and is wonderfully convenient.
Note that you can only use automatic properties when you are willing to have a get and a set accessor, and then when simple implementation (as shown) is sufficient.
There is a workaround if you want only a get or set accessor: You can mark either one as private. Thus, you can create a read-only property by writing:
public int Hour { get; private set; }And, you can create a write-only property by writing:
public int Hour { private get; set; }If you need to use attributes, or if you in any other way modify the simplicity of the backing variable or the accessors, you must use the normal property syntax.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access