Asked by reader. Answered by the Wonk on October 17, 2002
A.
Properties are strange beasts. They look like fields to the user of the class, but they�re implemented like methods. Of course, this combines the ease of syntax of fields with the flexibility of implementing methods, but C# syntax, while concise, is unintuitive. If you�re unfamiliar with properties, the following is the use and implementation of an integer property called Number:
class Foo {
private int number = 42;
// Number property implementation
public int Number {
get { return number; }
set { number = value; }
}
}
// Number property usage
Foo foo = new Foo();
foo.Number = 13;
Console.WriteLine("My lucky number= {0}", foo.Number);
Even once you get your head around the property syntax, you may still find it tedious. To save yourself some trouble, right-click on a class in the VS.NET Class View and choose Add->Add Property to get a little wizard that knows how to take the name and type of your property and turn it into a skeleton for you. There are other menu options for methods, properties and indexers, as well.