ASP.NET 3.5 Eigenschaften private Member Zugang innerhalb der Klasse
-
05-07-2019 - |
Frage
Ich habe gelesen, wie in ASP.NET 3.5 Sie Eigenschaften in C # deklarieren
public DateTime DisplayDate
{
get;
}
statt
private DateTime _displayDate
public DateTime DisplayDate
{
get {return _displayDate;}
}
Meine Frage ist, innerhalb der Klasse, wie greife ich auf die private Variable?
Zum Beispiel anstelle dieser
public MyClass(DateTime myDisplayDate)
{ _displayDate = myDisplayDate; }
Was soll ich zuweisen? Ist es das öffentliche Eigentum?
public MyClass(DateTime myDisplayDate)
{ DisplayDate = myDisplayDate; }
Ist das richtig?
Lösung
public DateTime DisplayDate
{
get; private set;
}
public MyClass(DateTime myDisplayDate)
{
this.DisplayDate = myDisplayDate;
}
Andere Tipps
Automatische Eigenschaften wie diese (die ASP.NET nicht darauf beschränkt) sind, so dass Sie nicht mit dem privaten Bereich befassen. Wenn Sie den Wert der Eigenschaft festlegen möchten, verwenden Sie die Immobilie selbst und einen privaten Setter hinzufügen (so nur Ihre Klasse kann eingestellt)
public DateTime DisplayDate
{
get;
private set;
}
Sie müssen immer sowohl die Getter und Setter mit c # 3.0 automatischen Eigenschaften erklären - siehe die anderen Antworten - der Trick ist, die Setter als privat zu markieren.
public Foo { get; private set; }