DBExtensions von EDR

  • VB.NET

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

    DBExtensions von EDR

    Steter Tropfen ...
    Habe mir nun doch einmal die DBExtensions von EDR angeschaut ... sieht als Ansatz interessant aus.

    Bei Kompilieren stell ich Warnmeldungen fest in den Modulen StringX.vb und CollectionX.vb fest, z.B.:

    "Warnung 3 Die CountChars-Variable wird verwendet, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten. D:\Downloads\Erfinder des Rades\SqlCeSample03\Helpers\GeneralHelpers\GeneralHelpers\StringX.vb 158 13 GeneralHelpers
    "


    Es zeigt sich, dass in Zeile 8 wie in guter alter Zeit der Methodenname als Variable benutzt wird:

    VB.NET-Quellcode

    1. <Extension()> _
    2. Public Function CountSubStrings( _
    3. ByVal S As String, _
    4. ByVal Search As String, _
    5. Optional ByVal Comparison As StringComparison = StringComparison.CurrentCulture) As Integer
    6. Dim I As Integer = S.IndexOf(Search, 0, Comparison)
    7. While I >= 0
    8. CountSubStrings += 1
    9. I = S.IndexOf(Search, I + 1, Comparison)
    10. End While
    11. End Function


    Ich bin überrascht, das dies überhaupt noch funktioniert. Gibt's für die Wahl dieser Lösung einen besonderen Grund????



    Edit by Dodo:
    -> Thread verschoben (Tipps & Tricks => Datenbankprogrammierung

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()

    ErfinderDesRades schrieb:

    es ist einfacher und knapper Code
    Hättest ja auch den Funktionswert initialisieren können, bevor du ihn inkrementierst ;)

    VB.NET-Quellcode

    1. CountSubStrings = 0
    vor der Schleife ist zwar de facto unnötig, würde aber zumindest die Warning vermeiden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --