Ich bin verwirrt mit Static
Implementierung in VB.NET. In C # können wir statische Klassen- und statische Methoden zum Schreiben von Hilfsmethoden für unsere Anwendung erstellen.
Nun können wir mit VB.NET Module
anstelle der statischen Klasse erstellen. Wenn wir eine Methode im Modul erstellen, wird sie standardmäßig statisch. Aber in meiner Bewerbung habe ich den folgenden Code geschrieben:
Indem ich den Code schreibe, kann ich auf die Hilfsmethode als Utility.GetValue()
zugreifen. Da dies keine statische Klasse ist, soll ich ein Objekt davon instantiieren. Diese Methode ist jedoch sowohl für die Klasse als auch für die Objekte von Utility
Jetzt sind meine Fragen:
Ich habe versucht, mehrere Artikel zu konsultieren, aber nirgendwo diese genauen Antworten gefunden. Bitte helfen.
Ein VB.NET-Modul ist eine statische Klasse. Der Compiler erledigt dies für Sie. Jede Methode und Eigenschaft ist static
( Shared
).
Eine Klasse mit einem statischen (Shared) Mitglied ist genau das: Eine Klasse mit einem statischen (Shared) Mitglied. Sie müssen keine Instanz für den Zugriff auf die statische (Shared) -Methode erstellen, aber Sie müssen zu einem der Instanzmitglieder gelangen.
Sie können auch ein Sub New()
in einem Modul definieren und es wird zum statischen Konstruktor für das Modul. Wenn Sie das erste Mal versuchen, ein Member auf dem Modul aufzurufen, wird der statische Konstruktor aufgerufen, um die statische Klasse zu initialisieren.