String Klasse um statische Methode erweitern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Rootbob91.

    String Klasse um statische Methode erweitern

    Hallo zusammen, Frage steht oben :).

    Wie man normale Extensions schreibt ist mir durchaus bewusst, allerdings hatte ich mich gerade gefragt, ob ich z.B. die String Klasse auch um statische Methoden wie z.B. String.Join() erweitern kann?

    Shared kann ich ja nicht in nem Modul verwenden. :whistling:

    Wäre nett wenn jemand seinen Senf dazugeben könnte.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Nope. Extensions benötigen ja Instanzen von Klassen. Hierfür musst Du wohl eine eigene Wrapper-Klasse basteln.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Nun gut, bei statischen Methoden ist das ja im Endeffekt egal. Dann machste halt 'ne statische Klasse ​StringEx und baust das da rein. Kommt ja auf dasselbe raus. ^^

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Sicher, kein Thema, allerdings hätte ichs persönlich schöner gefunden, wenn man die schon existierende String Klasse erweitern würde, statt n Umweg zu gehen, aber wenns nunmal nicht anders möglich ist :whistling: .

    Dann lass ich's mal so stehen:
    StringExtensions

    VB.NET-Quellcode

    1. Public NotInheritable Class StringExtensions
    2. ''' <summary>
    3. ''' Kann natürlich weg und dient nur zur Demo..
    4. ''' </summary>
    5. Public Shared Sub SwitchDemonstration()
    6. Dim a As String = "Hallo"
    7. Dim b As String = "Welt"
    8. MessageBox.Show(a)
    9. MessageBox.Show(b)
    10. StringExtensions.Switch(a, b)
    11. MessageBox.Show(a)
    12. MessageBox.Show(b)
    13. End Sub
    14. ''' <summary>
    15. ''' Tauscht 2 Strings
    16. ''' </summary>
    17. ''' <param name="A">Wert A</param>
    18. ''' <param name="B">Wert B</param>
    19. Public Shared Sub Switch(ByRef A As String, ByRef B As String)
    20. Dim partA = A
    21. Dim partB = B
    22. A = partB
    23. B = partA
    24. End Sub
    25. End Class

    Demo-Aufruf:
    StringExtensions.SwitchDemonstration()
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Rootbob91 schrieb:

    VB.NET-Quellcode

    1. Public Shared Sub Switch(ByRef A As String, ByRef B As String)
    heißt üblicherweise Swap und benötigt nur 3 Schritte:

    VB.NET-Quellcode

    1. Public Shared Sub Swap(ByRef A As String, ByRef B As String)
    2. Dim partA = A
    3. A = B
    4. B = partA
    5. End Sub
    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!
    Danke für die Code-Optimierung wenn auch abrupt.

    Swap fiel mir auch nachher als wörtlichere Übersetzung ein, allerdings isses dasselbe in bunt. -> Synonym, allerdings treffender.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

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