- 4.1 Introduction
- 4.2 Classes, Objects, Methods, Properties and Instance Variables
- 4.3 Declaring a Class with a Method and Instantiating an Object of a Class
- 4.4 Declaring a Method with a Parameter
- 4.5 Instance Variables and Properties
- 4.6 UML Class Diagram with a Property
- 4.7 Software Engineering with Properties and set and get Accessors
- 4.8 Auto-Implemented Properties
- 4.9 Value Types vs. Reference Types
- 4.10 Initializing Objects with Constructors
- 4.11 Floating-Point Numbers and Type decimal
- 4.12 Wrap-Up
- Summary
- Terminology
- Self-Review Exercises
- Answers to Self-Review Exercises
- Exercises
- Making a Difference Exercises
4.8 Auto-Implemented Properties
In Fig. 4.7, we created a GradeBook class with a private courseName instance variable and a public property CourseName to enable client code to access the courseName. When you look at the CourseName property's definition (Fig. 4.7, lines 11–21), notice that the get accessor simply returns private instance variable courseName's value and the set accessor simply assigns a value to the instance variable—no other logic appears in the accessors. For such cases, C# provides automatically implemented properties (also known as auto-implemented properties). With an auto-implemented property, the C# compiler creates a private instance variable, and the get and set accessors for returning and modifying the private instance variable. Unlike a user-defined property, an auto-implemented property, must have both a get and a set accessor. This enables you to implement the property trivially, which is handy when you're first designing a class. If you later decide to include other logic in the get or set accessors, you can simply modify the property's implementation. To use an auto-implemented property in the GradeBook class of Fig. 4.7, you can replace the private instance variable at line 8 and the property at lines 11–21 with the following code:
|
Code Snippets for Auto-implemented Properties
The IDE has a feature called code snippets that allows you to insert predefined code templates into your source code. One such snippet enables you to insert a public auto-implemented property by typing the word "prop" in the code window and pressing the Tab key twice. Certain pieces of the inserted code are highlighted for you to easily change the property's type and name. You can press the Tab key to move from one highlighted piece of text to the next in the inserted code. By default, the new property's type is int and its name is MyProperty. To get a list of all available code snippets, type Ctrl + k, Ctrl + x. This displays the Insert Snippet window in the code editor. You can navigate through the Visual C# snippet folders with the mouse to see the snippets. This feature can also be accessed by right clicking in the source code editor and selecting the Insert Snippet... menu item.