Neues .NET 3.5 Feature: Automatic Properties
Ein weiteres neues Feature wird ganz besonders die schreibfaulen Programmierer - wie mich - freuen.
Hierbei handelt es sich allerdings lediglich um eine vereinfachte Definierung für Eigenschaften. Wo man früher relativ viel Schreibarbeit hatte um folgende Klasse zu schreiben...
public class Dog
{
private string name;
private int age;
private int height;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Age
{
get
{
return age;
}
set
{
age = value;
}
}
public int Height
{
get
{
return height;
}
set
{
height = value;
}
}
}
...kann das mit .NET 3.5 bequem so geschrieben werden:
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public int Height { get; set; }
}
Der Kompiler erstellt anschließend wieder ganz normale Eigenschaften, die auf einen privaten Member zugreifen.
Die Automatischen Eigenschaften benötigen immer einen Getter und einen Setter. Falls z. B. ein Setter nicht von außen erreichbar sein soll, kann er allerdings privat gesetzt werden:
public int Height { get; private set; }
Weitere Informationen zu den Automatischen Eigenschaften:
http://blog.veloursnebel.de/PermaLink,guid,3ea32fc3-8e47-429b-bbb3-a77afee848fb.aspx
http://weblogs.asp.net/scottgu/archive/2007/03/08/new-c-orcas-language-features-automatic-properties-object-initializers-and-collection-initializers.aspx