Frage - wie Code vereinfachen

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Frage - wie Code vereinfachen

    Moin!

    ich habe folgenden Code:

    VB.NET-Quellcode

    1. Public Property Data4Bearbeiter As Dictionary(Of Long, String)
    2. Get
    3. Return _Data4Bearbeiter
    4. End Get
    5. Set(value As Dictionary(Of Long, String))
    6. _Data4Bearbeiter = value
    7. ' befüllen der Combobox
    8. If _Data4Bearbeiter.Count > 0 Then
    9. With cb_User ' zuweisen der Daten
    10. Dim NewBindingSource As New BindingSource With {.DataSource = _Data4Bearbeiter}
    11. .DataSource = NewBindingSource
    12. .DisplayMember = "Value"
    13. .ValueMember = "Key"
    14. .SelectedIndex = -1
    15. .Enabled = True
    16. End With
    17. Else
    18. 'Todo: hier muss eventuell noch etwas ergänzt werden
    19. cb_User.Enabled = False
    20. End If
    21. End Set
    22. End Property


    Da ich mehrere Variablen auf diese Art und Weise zu "betanken" habe wollte ich für das Set eine Unterfunktion erstellen.

    Da hatte ich mir folgendes überlegt:

    VB.NET-Quellcode

    1. Public Property Data4Bearbeiter As Dictionary(Of Long, String)
    2. Get
    3. Return _Data4Bearbeiter
    4. End Get
    5. Set(value As Dictionary(Of Long, String))
    6. _Data4Bearbeiter = value
    7. FillCombo(cb_User, value)
    8. End Set
    9. End Property


    mit der Funktion

    VB.NET-Quellcode

    1. Private Sub FillCombo(Combo As ComboBox, value As Dictionary(Of Long, String))
    2. ' befüllen der Combobox
    3. If value.Count > 0 Then
    4. With Combo ' zuweisen der Daten
    5. Dim NewBindingSource As New BindingSource With {.DataSource = value}
    6. .DataSource = NewBindingSource
    7. .DisplayMember = "Value"
    8. .ValueMember = "Key"
    9. .SelectedIndex = -1
    10. .Enabled = True
    11. End With
    12. Else
    13. 'Todo: hier muss eventuell noch etwas ergänzt werden
    14. Combo.Enabled = False
    15. End If
    16. End Sub


    (das ganze ungetestet)

    Was mir aber Kopfzerbrechen macht ist die Zeile

    VB.NET-Quellcode

    1. _Data4Bearbeiter = value


    Der Variablenname vor dem Gleichheitszeichen ändert sich ja immer ...

    Kann mir einer weiterhelfen?

    Gruß Jan
    Ich seh das Problem nicht. Klar musst Du dann schreiben:

    VB.NET-Quellcode

    1. Public Property Data4Bearbeiter As Dictionary(Of Long, String)
    2. Get
    3. Return _Data4Bearbeiter
    4. End Get
    5. Set(value As Dictionary(Of Long, String))
    6. _Data4Bearbeiter = value
    7. FillCombo(cb_User, value)
    8. End Set
    9. End Property
    10. Public Property Data5Bearbeiter As Dictionary(Of Long, String)
    11. Get
    12. Return _Data5Bearbeiter
    13. End Get
    14. Set(value As Dictionary(Of Long, String))
    15. _Data5Bearbeiter = value
    16. FillCombo(cb_User, value)
    17. End Set
    18. End Property
    19. 'usw.

    Aber sonst sind zu wenige Infos da, um eine Alternative aufzuzeigen. Was willst Du denn alles zusammenfassen? Bitte konkrete Beispiele.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.