Hallo zusammen,
Ich hab eine kleine Console Application, in der Main Methode ist folgendes drin
GeneralMetaData generalMetaData = new GeneralMetaData();
generalMetaData.FirstName = "FirstName";
generalMetaData.LastName = "LastName";
GeneralMetaData ist eine Klasse wo ich folgendes drin hab
public string FirstName
{
get { return FirstName; }
set { FirstName = value; }
}
public string LastName
{
get { return LastName; }
set { LastName = value; }
}
Bei set FirstName = value bekomme ich eine StackOverflowException, ich seh aber nicht wirklich wieso? Wo ist hier die Rekursion??
Ich füll ja nur ein Property aus
Gruss
Die Rekursion entsteht weil du FirstName etwas zuweist, was dazu führt das FirstName etwas zugewiesen wird und so weiter.
Richtiger wäre hier:
private string _sFirstName;
public string FirstName
{
get { return _sFirstName; }
set { _sFirstName = value; }
}
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Oder einfach die automatischen Properties benutzen:
public string FirstName { get; set; }
hehe
das auch wirklich jeder einmal in so eine Falle tappt.. 😃
Auch wenn man manchmal den Wald vor lauter Bäumen nicht sieht: Grundlagen sind das trotzdem.
==> geschlossen