Suchergebnisse

Suchergebnisse 1-4 von insgesamt 4.

  • Benutzer-Avatarbild

    Bin heute zu der Erkenntnis gekommen, dass sowas in VB nicht möglich ist: VB.NET-Quellcode (7 Zeilen) Zitat: „Local-Variablen innerhalb von Methoden von Strukturen können nicht als "Static" deklariert werden.“ Dass das in Instanzmethoden in Structures nicht funktioniert hat gute Gründe, aber bei statischen Membern gibt es zwischen Klassen und Structures keinen Unterschied (der mir bekannt wäre). MSDN sagt zwar, dass es nicht erlaubt ist, aber der Grund wird nicht erklärt: msdn.microsoft.com/en-u…

  • Benutzer-Avatarbild

    @Facebamm Ich habe nicht ganz verstanden, was Du damit sagen wolltest. Beachte, dass es sich bei Bar um eine statische Methode handelt. @RodFromGermany Für einfache Fälle reicht das aus, aber es gibt ein paar Unterschiede. Der ausschlaggebende Unterschied ist für mich, dass der Ausdruck zur Initialisierung nur ausgewertet wird, wenn der Code tatsächlich ausgeführt wird. Beispiel: VB.NET-Quellcode (14 Zeilen) Bei Foo1 wird CalculateMeaningOfLife sofort ausgeführt (entsprechend der Regeln der CLR …

  • Benutzer-Avatarbild

    Vollständigkeitshalber: VB.NET-Quellcode (10 Zeilen) dekompiliert in etwa zu dem hier (Die Namen der Variablen sind vereinfacht, denn die sehen tatsächlich wie $STATIC$Bar$008$Baz$Init aus.): VB.NET-Quellcode (30 Zeilen) StaticLocalInitFlag kommt aus dem Microsoft.VisualBasic.CompilerServices Namespace und sieht einfach so aus: VB.NET-Quellcode (3 Zeilen) IncompleteInitialization ist übrigens die einzige Exception-Klasse die ich kenne, deren Name nicht auf Exception endet. Das Try-Finally sieht …

  • Benutzer-Avatarbild

    @~blaze~ Zitat: „Ich denke, dass es nicht auf die Frage des Warums ankommt.“ Naja, als Mensch ist man halt immer auf der Suche nach Antworten @VincentTB Nun, das ist aber kein Fall für Lazy. Lazy erlaubt nämlich nicht das Setzen der Value-Property, und genau das macht es zu einem Problem. Dann kann ich ja gleich wieder ein Boolean-Feld verwenden, das angibt, ob die Variable (bzw. halt das Feld) schon initialisiert wurde.