Hallo Community,
ich habe eine Klasse in der ich private Felder habe. Über Eigenschaften greife ich von außen darauf zu.
Mich interessiert, wie greife ich am sinnvollsten auf die Felder in der Klasse selbst zu.
Über die Eigenschaft oder direkt auf das Feld ???
public class Schuldner {
private string pVorname;
private string pName1;
//... weitere
public string Vorname {
get { return pVorname; }
set { pVorname = this.checkName(value); }
}
public string Name1 {
get { return pName1; }
set { pName1 = this.checkName(value); }
}
//---
private void Beispiel(string param) {
this.pName1 = param; // SO ????
this.Name1 = param; // oder SO ???
}
Von der preformance müsste eigentlich die erste Variante die schnellere sein da dort ein Methoden aufruf gespart wird aber gibt es vielleicht nachteile ???
mfg klimm
Leben bedeutet lernen, leben bedeutet Veränderung... :]
Über die Eigenschaft.
Da kannst Du noch evtl. Prüfungen einbauen.
Auch von der Perfomance her macht es keinen Unterschied ob direkt oder über eine Eigenschaft auf ein Feld zugegriffen wird. Einfache Methoden mit wenig Code (trifft auf die meisten Getter zu) werden bei aktivierter Optimierung inline compiliert.
Beispiel:
private string name;
// Name-Eigenschaft.
public string Name {
get { return this.name; }
}
// Zugriff auf Name-Eigenschaft.
public void TestGetName() {
// Der Zugriff:
string n = Name;
// ... wird optimiert zu:
string n = this.name;
}
Gruss
Pulpapex