Es kann wie eine abstrakte Eigenschaft oder eine Eigenschaft von einer Schnittstelle aussehen, aber es ist weit davon entfernt. Um Entwickler dazu zu ermutigen, Eigenschaften zu verwenden (da sie aus vielen Gründen eine Best-Practice-Methode sind), hat Microsoft beschlossen, diese Funktion in C# 3 einzubeziehen, damit Sie Eigenschaften leichter deklarieren können. Hier
ist der normale Weg, eine Eigenschaft zu erstellen:
String foo;
public String Foo
{
get { return this.foo }
set { this.foo = value; }
}
Nun ist diese ziemlich viel Tipparbeit erfordert und als Entwickler zum Kern faul sind, manchmal sind wir den öffentlichen Bereichen zu schaffen versucht, nur einige Zeit zu sparen .
Jetzt mit dem C# 3 Compiler wir dies tun können:
public String Foo { get; set; }
Während dies ein wenig seltsam aussieht, betrachten die Arbeit, die der Compiler in Ihrem Namen tut. Der vorherige Code wird dazu zusammengestellt:
[CompilerGenerated]
private string <Foo>k__BackingField;
public string Foo
{
[CompilerGenerated]
get
{
return this.<Foo>k__BackingField;
}
[CompilerGenerated]
set
{
this.<Foo>k__BackingField = value;
}
}
So, obwohl die Syntax sieht ein wenig seltsam, Sie erstellen noch eine Eigenschaft genau so, wie Sie es gewohnt sind.
Ich würde Sie für eine gründlichere Erklärung stimmen, aber ich bin für den Tag aus. – TheTXI