VisualBasic Namespace vermeiden ?

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

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    VisualBasic Namespace vermeiden ?

    Hi,

    ich will den VisualBasic Namespace vermeiden. Aber oft scheitert das nur deshalb, weil ich bestimmte vb Konstante verwende, z.B. vbNullChar:

    Das Dingens ist ein Char Feld, das low Values (x'00) enthält. Wie definiere ich das denn in .Net

    VB.NET-Quellcode

    1. Dim myNullChar as Char = 0 'nope - kann keinen Integer in Char konvertieren
    2. Dim myNullChar as Char = Chr(0) 'funktioniert, aber Chr ist eine "böse" Funktion
    3. Dim myNullChar as Char = "0"c 'Stellt das Zeichen "0" ein, also x'30


    Wie mache ich das also richtig ? Vermutlich eine blöde Frage. Denn das dürfte doch einfach zu lösen sein ... :)

    LG
    Peter
    EdR importiert immer nur speziell die MS.VB.ControlChars. Eine Möglichkeit.
    Ansonsten (ungetestet): Dim myNullChar As Char = Convert.ToChar(0)
    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.
    Das mit dem Imports Microsoft.Visualbasic.ControlChars ist natürlich sinnvoll ... Die Konstanten haben mit "deprecated functions" schließlich nichts zu tun.

    Das war einfach nicht mein Tag heute .. ich stelle hier besser nicht ein, was ich alles versucht habe, um einigermaßen elegant x'00 in das vermaledeite Char-Feld zu bekommen. Nur weil ich nicht auf das naheliegende Convert.ToChar gekommen bin. Manchmal verrenne ich mich halt ... :)

    Na, jetzt ist diese Baustelle ja auch geklärt.

    LG
    Peter
    Vielleicht wäre es auch ganz gut was eigenes zu machen. Den Microsoft.Visualbasic-NameSpace muss dann nicht angesprochen werden.

    Freundliche Grüsse

    exc-jdbi

    EDIT: @VaporiZed das kann man natürlich machen, wenn man CRLF an der gleichen Position lässt. Wechselt man die CRLF auf die erste Position (ganz nach oben), dann funkst es nicht.

    VB.NET-Quellcode

    1. Friend NotInheritable Class ControlChars
    2. Friend Shared Tab As Char = Convert.ToChar(9)
    3. Friend Shared Lf As Char = Convert.ToChar(10)
    4. Friend Shared Cr As Char = Convert.ToChar(13)
    5. Friend Shared Back As Char = Convert.ToChar(8)
    6. Friend Shared Quote As Char = Convert.ToChar(34) ' """"c
    7. Friend Shared NullChar As Char = Convert.ToChar(0) 'Char.MinValue
    8. Friend Shared FormFeed As Char = Convert.ToChar(12)
    9. Friend Shared NewLine As String = Environment.NewLine
    10. Friend Shared VerticalTab As Char = Convert.ToChar(11)
    11. Friend Shared CrLf As String = Cr & Lf
    12. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „exc-jdbi“ ()

    Dann schreib doch gleich in Zeile#11: Friend Shared CrLf As String = Cr & Lf. Denn Cr und Lf hast Du ja schon weiter oben definiert.
    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.