For Each Problem/Fehler

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von 4typen.

    For Each Problem/Fehler

    Moin, habe folgende For Each Schleife:

    VB.NET-Quellcode

    1. Public Function GetRadio() As String
    2. Dim RadioKnopf As String = Nothing
    3. For Each Radio As RadioButton In Me.Controls
    4. If Radio.Checked = True Then
    5. RadioKnopf = Radio.Name
    6. End If
    7. Next
    8. Return RadioKnopf
    9. End Function

    Nun das Problem: Wenn ich die Function aufrufe, dann durchläuft er die Schleife so wie er soll bis zum Ende, sprich "RadioKnopf" bekommt einen gültigen Wert. Jedoch kommt ein Fehler nachdem er die Schleife durchlaufen hat:
    Das Objekt des Typs "System.Windows.Forms.Button" kann nicht in Typ "System.Windows.Forms.RadioButton" umgewandelt werden.


    Hinweis: Der Sub in dem die Schleife gestartet wird, wird selbst durch ein Delegate gestartet, bei welchem der Fehler dann auch angezeigt wird.

    Weiß jemand wie es zu dem Fehler kommt bzw. wie man ihn beheben kann?

    MfG 4typen

    VB.NET-Quellcode

    1. For Each ct As Control In Me.Controls
    2. If TypeOf(ct) Is RadioButton Then
    3. Dim Radio As RadioButton = DirectCast(ct,RadioButton)
    4. 'hier weiter arbeiten
    5. End If
    6. Next

    oder wenn möglich natürlich mit LinQ mit Where TypeOf...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---