Hallo,
ich habe das Konzept mit den delegates noch nicht verstanden und benötige dringend Hilfe. Vielleicht brauhce ich auch etwas anderes als Delegates?
Hier nun das Problem:
Ich habe eine Formular mit 8 Eingabefeldern und neben jedem Feld einen "Suche" Button. Das Design kann nihct verändert werden, da generiert.
Jeder Button macht ziemlich das gleiche...suche in DB und Wert in einem Objekt speichern.
Wie kann ich das nun so refactorn, das jeder Button die gleiche Methode aufruft aber in der korrekten Objektvariable speichert?
Bsp.:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| internal void SelectAction1(object sender, EventArgs e) { this.GetAndShowFieldData("Spalte1", XXXX); }
internal void SelectAction2(object sender, EventArgs e) { this.GetAndShowFieldData("Spalte2", XXXX); }
internal void SelectAction3(object sender, EventArgs e) { this.GetAndShowFieldData("Spalte3", XXXX); }
private void GetAndShowFieldData(string p, SetDelegate<byte> setTarget) { this.queryParams.Remove(p); IList<String> valueList = UserSelectedQuery(queryParams, p, Group.T_RAD); if (FieldSelectionViewController.Instance.NavigateModal(null, valueList) == DialogResult.OK) { string value = FieldSelectionViewController.Instance.SelectedValue; if (value == string.Empty) return; double temp = Convert.ToDouble(value); this.AddValueToQueryParams(p, value); valueList.Clear(); } valueList = null; } |
Hier sieht man 3 Methoden SelectAction und jede ruft GetAndShowFieldData auf. Das XXXX ist jetzt mein Problem, ich habe ein Object Temp und SelectAction1 soll über GetAndShowFieldData den ermittelten Wert in Temp.Wert1 speichern, SelectAction2 in Temp.Wert2, etc.
Also müsste der Aufruf irgendwie sowas wie this.GetAndShowFieldData("Spalte1", Temp.Wert1) sein. Aber wie mache ich das? Ich verstehe es einfach nicht.
Kann mir hier vielleicht jemand erklären wie ich das machen kann?
Vielen Dank
dragi....der nicht mehr weiter weiß