Forum: PC-Programmierung C# "immer gleiches Gerüst" vereinfachen


von Nobbi (Gast)


Lesenswert?

Hi,

ich habe mir ein kleines Konstrukt gebastelt, mit welchen ich meine 
Datenhaltung und Kommunikation deutlich "vereinfachen" kann... leider 
ist damit auch etwas "kopierarbeit" verbunden... nun die Frage, ob man 
die "Duplizierungen" mit einer Schleife machen kann...
1
public class Stats
2
{
3
  public int ProdExport { get; set; }
4
  public int ProdImport { get; set; }
5
  public int ProdRunnings { get; set; }
6
}
7
8
//Initialisierung meiner klasse
9
private EcountStats eStats = new EcountStats();
10
public EcountStats EStats
11
{
12
  get => eStats;
13
  set
14
  {
15
    eStats = value;
16
  }
17
}
18
19
//zur vereinfachung Getter & Setter <- hier wäre eine schleife schön ;)
20
public int ProdExport
21
{
22
  get { return EStats.ProdExport; }
23
  set { EStats.ProdExport = value; }
24
}
25
26
public int ProdImport
27
{
28
  get { return EStats.ProdImport; }
29
  set { EStats.ProdImport = value; }
30
}
31
32
public int ProdRunnings
33
{
34
  get { return EStats.ProdRunnings; }
35
  set { EStats.ProdRunnings = value; }
36
}

im Beispiel nur 3, in echt aber deutlich mehr...
=> hier handelt es sich eigentlich nur um Integer. Aber interessant 
wäre, ob das auch Gemischt ginge, andernfalls reicht mir eine 
Integerlösung ;)

Vielen Dank

von Keiner N. (nichtgast)


Lesenswert?

Warum machst du dir die doppelte Arbeit?

An die eStats kommt man ja schon von außen heran, da gibt es keinen 
Grund noch mal die Properties einzeln durchzuschleifen.

von Nobbi (Gast)


Lesenswert?

oh, das hab ich vergessen "abzubilden"...
1
public int ProdRunnings
2
{
3
  get { return EStats.ProdRunnings; }
4
  set { EStats.ProdRunnings = value; 
5
    DoAnything("fester Parameter"); //der Parameter ist bei jedem Setter dieser funktion gleich
6
  }
7
}

so schaut der vollständige Getter und Setter aus...
die DoAnything Funktion brauch ich leider beim Setzen des wertes!
=> gehört zum inotifypropertychanged

von Dirk (Gast)


Lesenswert?

Hallo, viel Schreibarbeit nimmt Dir Fody.PropertyChanged ab und der Code 
wird übersichtlicher, aber damit jemand anderes es auch versteht sollte 
ein Kommentar im Code eingefügt werden.

https://github.com/Fody/PropertyChanged

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.