Event zwischen 2 oder mehr Objekten einer Klasse

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von vico255.

    Event zwischen 2 oder mehr Objekten einer Klasse

    Hallo,
    ich versuche gerade (möchte gern wissen ob es geht) das wenn sich ein Wert eines Objekts in einer Liste auf die Werte anderer Objekte der selben liste auswirken können.

    Das heißt, wenn ich einen Wert vom Objekt 2 änder, Objekt 4 und 5 das mitbekommen können?
    Meinen letzen versuch habe ich mal auskommentiert(nicht wundern)

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim n As New neuronalesNetz(2, 1)
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. 'n.Netz(0).NeuerWert = 3
    4. End Sub
    5. Public Class neuronalesNetz
    6. Public Netz As New List(Of Neuron)
    7. Public Sub New(ByVal input As Integer, ByVal output As Integer)
    8. For i As Integer = 1 To input
    9. Dim nNeuron As New Neuron With {.index = Netz.Count, .nort = 0, .Wert = 0}
    10. Netz.Add(nNeuron)
    11. Next
    12. For i As Integer = 1 To output
    13. Dim nNeuron As New Neuron With {.index = Netz.Count, .bNetz = Netz, .nort = 1, .Wert = 1}
    14. Netz.Add(nNeuron)
    15. Next
    16. End Sub
    17. End Class
    18. Public Class Neuron
    19. Public index As Integer
    20. 'Public bNetz As New List(Of Neuron)
    21. Public ort As Integer
    22. Public Wert As Double
    23. 'Event _show As EventHandler
    24. Public Property nort() As Integer
    25. Get
    26. Return ort
    27. End Get
    28. Set(ByVal value As Integer)
    29. ort = value
    30. 'If index > 0 Then
    31. ' For Each nn As Neuron In bNetz
    32. ' If bNetz(0).ort < ort Then
    33. ' 'MsgBox(index)
    34. ' AddHandler _show, New EventHandler(AddressOf nn.change)
    35. ' 'MsgBox(nn.index)
    36. ' End If
    37. ' Next
    38. 'End If
    39. End Set
    40. End Property
    41. Public Property NeuerWert() As Double
    42. Get
    43. Return Wert
    44. End Get
    45. Set(ByVal value As Double)
    46. Wert = value
    47. 'RaiseEvent _show()
    48. End Set
    49. End Property
    50. 'Public Sub change()
    51. 'MsgBox(index)
    52. 'End Sub
    53. End Class

    In Arbeit...
    @vico255 Arbeite mit Properties.
    Im Setter kannst Du Bereiche begrenzen oder aufrufen, was nachgezogen werden muss.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!