The typical pattern for implementing an automatic property in a C# class is shown below–you do not need to define either a private backing variable, or the bodies of the get and set accessors.
1 2 3 4 5 | public class Dog{ // An automatic property public string Name { get; set; }} |
It’s interesting to use the IL DASM tool to see how this property is actually implemented. Start up the IL Disassembler tool and then do a File | Open and load the .exe containing the property shown above. You’ll see the following:
You can see the backing variable that the compiler automatically generated–k__BackingField. You can also see theget and set accessors that the compiler automatically created, get_Name and set_Name.

