Wie würde ich eine globale Variable in Visual Basic deklarieren?

8

Ich möchte eine Variable erstellen, die für mehrere Formulare verwendet werden kann.

Es wird ein temporärer Speicher für Ganzzahlen sein.

    
user3470747 29.03.2014, 23:24
quelle

2 Antworten

17

Es gibt mehrere Möglichkeiten, dies in VB zu tun: eine VB-spezifische Weise und eine nicht VB-spezifische Weise (d. h. eine, die auch in C # implementiert werden könnte.

Der VB-spezifische Weg besteht darin, ein Modul zu erstellen und die Variable in das Modul einzufügen:

%Vor%

Die nicht VB-spezifische Methode besteht darin, eine Klasse mit gemeinsamen Eigenschaften zu erstellen:

%Vor%

Der Hauptunterschied zwischen den beiden Ansätzen besteht darin, wie Sie auf die globalen Variablen zugreifen.

Wenn Sie davon ausgehen, dass Sie überall denselben Namespace verwenden, können Sie mit der VB-spezifischen Methode auf die Variable ohne Klassenqualifizierer zugreifen:

%Vor%

Für die nicht-VB-spezifische Weise müssen Sie der globalen Variablen die Klasse voranstellen:

%Vor%

Obwohl es etwas ausführlicher ist, empfehle ich dringend den nicht-VB-spezifischen Weg. Wenn Sie Ihren Code oder Skillset jemals in C # umwandeln möchten, ist der VB-spezifische Weg nicht portabel.

    
competent_tech 30.03.2014, 01:05
quelle
0

Sie können es einfach als PUBLIC zu ANY Module hinzufügen

Beispiel:

Modul Modul1     'Globale Variablen     Öffentlich glbtxtTemplateName As String 'GLOBAL VARIABLE FOR TEMPLATE

VB lädt die Modals zuerst als Klasse und alle darin enthaltenen PUBLIC-Elemente werden direkt freigegeben. Denken Sie darüber nach.

Sagen wir, wir haben ein MODUL namens "MY_PROCESSES"

Wenn Sie eine SUB oder eine FUNCTION in "MY_PROCESSES" deklarieren, wenn Sie möchten, dass sie außerhalb von "MY_PROCESSES" verwendet wird, deklarieren Sie PUBLIC wie folgt

PUBLIC SUB LOAD_TEMPLATE () ....

Um zu LOAD_TEMPLATE zu gelangen, rufen Sie es einfach von überall in Ihrem Code auf:

LOAD_TEMPLATE

Wenn ich also die globale Variable, die ich in meinem Modul veröffentlicht habe, setzen oder verwenden muss, dann beziehe ich mich einfach auf den Namen:

glbtxtTemplateName="TEMPLATE_NAME"

IF glbtxtTemplateName="" dann LoadTemplate

Ich mag es, die Klasse wie oben zu bauen, weil Sie sie schneller referenzieren können, ohne sich an die Variable zu erinnern, aber wenn Sie nur 1 oder 2 globale Variablen benötigen, können Sie sie wie mit dem ungarischen Notationsstilnamen benennen. Diese Methode ist wirklich sehr einfach und elegant. Alt ist neu und Neu ist Alt.

    
C.P. Williams 30.03.2017 18:02
quelle

Tags und Links