1 Visual Basic - Typen

Initialisierung (Variablen und Argumente)

Wichtig vor der Verwendung von Variablen und Argumenten ist es sie mit einem Wert vorzubelegen (d.h. zu initialisieren). Wenn Sie das nicht tun erhalten Sie schnell eine "NullReferenceException".
Das ist besonders bei komplexen Typen (also nicht string, bool, etc.) wichtig.

Objekt des Typs "WmsInvoice" initialiseren (hier mit Angabe des kompletten Namespaces)
new Accantum.Wms.ActivityContracts.Models.Invoice.V01.WmsInvoice()


In der Initialisierung können Sie mit "With" in geschweiften Klammen einzelne Eigenschaften des Objekts vorbelegen (nicht zu vergessen ist dabei der Punkt vor dem Eigenschaftsnamen):

Komplexe Typen initialisieren und mit Werten vorbelegen
new WmsInvoice With { .InvoiceNumber = 655, .LanguageId= "de" }

 

Bei der Initialisierung von Listen und Arrays können gleichzeitig Listenelemente angegeben werden.

Bei Listen wird das Schlüsselwort "From" verwendet:

Liste mit Angabe von Elementen initialisieren
new System.Collections.Generic.List (Of string) From {"Item 1", "Item 2", "Item 3"}
Array mit Angabe von Elementen initialisieren

oder

 


Datentypen

Strings

  • Für String-Werte muss der Ausdruck in Anführungszeichen eingeschlossen werden "Text".

  • Mehrzeiligen string mit + umbrechen, z.B. „abc“ + „def“

  • Zeilenumbrüche in einem String: „\r\n“… oder Environment.NewLine

  • Wenn Sie in einem String ein Anführungszeichen verwenden wollen, muss dieses escaped werden. Escapen Sie Anführungsstriche indem Sie 2 Anführungsstriche  setzen (also so: "Text "" Text")

  • String-Eingabe mit eckigen Klammern: Sollten Sie in einem String-Feld einen Text eingeben, der mit "[" beginnt und mit "]" endet, fügt der Workflow Designer automatisch ein Prozentzeichen zu ein. Bei der Ausführung wird dieses Zeichen nicht berücksichtigt.



Character (1 Zeichen)

  • Eingabe genau eines Zeichens (Typ Character): z.B. "z“C oder nur z ohne Anführungsstriche "


Decimal

  • Bei der Angabe einer Dezimalzahl muss der Zahl ein "D" folgen: z.B. 1.23D

  • Wird das "D" nicht angegeben, so interpretiert VisualBasic die Zahl als Double und kann die Zahl einer Eigenschaft vom Typ Decimal nicht zuweisen.


Liste / Collection / Array

  • Vor der Verwendung einer Liste muss diese initialisiert werden:
    Beispiel: Anlegen einer Liste mit string-Einträgen

    Weitere Informationen finden Sie hier: https://docs.microsoft.com/de-de/dotnet/visual-basic/programming-guide/language-features/collection-initializers/

  • Zugriff auf Elemente einer Liste: In VisualBasic werden bei Indexern runde Klammern „(i)“ statt eckigen (wie z.B. in C# oder Java) verwendet!
    Sie können entweder mit aListe(i) oder mit aList.Item(i) auf den i-ten Eintrag der Liste zugreifen. Aber Achtung: Es gibt einen Fehler, wenn die Liste nicht so viele Einträge besitzt.

  • Besonders Hilfreich bei Listen sind LINQ-Ausdrücke

 


DateTime und TimeSpan

Für diese Typen bietet der Workflow Designer eine Vereinfachte Eingaben

  • Datum (Typ DateTime):
    Statt „New DateTime(…)“ kann für Datumwerte folgende vereinfachte Schreibweise verwendet werden:  bzw. mit Uhrzeit:

  • Zeitspanne (Typ TimeSpan z.n. in der Delay-Aktivität)
    Statt "New TimeSpan(...) kann für Werte dieses Typen auch folgende Schreibweise verwendet werden:  (5 Minuten)


Umwandlung / Konvertieren von Typen