Zuhause Persönliche Finanzen Verständnis von Scope in Visual Basic. NET - Dummies

Verständnis von Scope in Visual Basic. NET - Dummies

Inhaltsverzeichnis:

Anonim

VB. NET-Programme sind in Zonen unterteilt, genau wie die Vereinigten Staaten in Bundesstaaten, Landkreise und Städte unterteilt sind. So wie die Strafverfolgungsbehörden unterschiedliche Rechtsprechungen haben (Stadtpolizisten, Staatsbedienstete und FBI, die überall hingehen können), VB. NET Programmierlinien haben Einflussbereiche. Dieser Einflussbereich, genannt scope, , bezieht sich hauptsächlich auf Variablen (kann aber auch auf Prozeduren - Subs und Funktionen - sowie ganze Klassen angewendet werden).

Zugriff auf eine Variable

Häufig möchten Sie den Wert einer Variablen abfragen oder ändern, aber ob diese Variable für Sie zugänglich ist oder nicht, hängt von ihrem Umfang ab. Beispielsweise können Sie immer innerhalb derselben Prozedur auf eine Variable zugreifen (Funktionen, Subroutinen und Ereignisse sind alle Prozeduren).

Um zu sehen, wie dies funktioniert, geben Sie Folgendes in Ihr Codemodul ein:

Privates Unterformular1_Load (ByVal-Absender als System. Objekt, ByVal und als System. EventArgs) Behandelt MyBase. Laden

Dim N As String = "Dies"

MsgBox (N)

End Sub

Drücken Sie F5, und beachten Sie, dass die MsgBox problemlos den Wert der Variablen N anzeigt.

Zeigt dies an. Geben Sie nun ein weiteres Sub direkt unterhalb des Form1_Load-Subs in das Codefenster ein:

Public Sub TryIt ()

MsgBox (N)

End Sub

Beachten Sie, dass eine Sägezahnlinie unter der Variablen N in der TryIt Sub. Halten Sie den Mauszeiger über die Sägezahnlinie und VB. NET zeigt eine Fehlermeldung an, die Ihnen mitteilt, dass Name 'N' nicht deklariert ist.

Diese Fehlermeldung bedeutet, dass beliebige Codezeilen innerhalb des TryIt-Subs (zwischen Public Sub und End Sub) die Variable N nicht lesen (zugreifen) oder schreiben (ändern) können. N wurde deklariert (mit der Dim-Befehl) in einer separaten Prozedur, und daher ist der Gültigkeitsbereich von N (sein Bereich der Zugänglichkeit) auf Codezeilen innerhalb derselben Prozedur beschränkt.

Obwohl Dim am häufigsten verwendet wird, können Sie sieben zusätzliche Deklarationsbefehle verwenden: Statisch, Öffentlich, Geschützt, Freund, Freigegeben, Geschützter Freund und Privat. Diese zusätzlichen Befehle geben den Gültigkeitsbereich an (von welchen Stellen in Ihrem Programm auf eine Variable zugegriffen werden kann).

Beachten Sie, dass die Variable nur innerhalb dieser Prozedur funktioniert, wenn Sie eine Variable innerhalb einer Prozedur deklarieren. Wenn das Programm die Prozedur (oder das Ereignis) ausführt, wird die Variable lebendig, macht ihre Sache und stirbt dann (verschwindet), sobald die End-Sub-Zeile ausgeführt wird.

Wenn Variablen lokal sind

Variablen, die nur innerhalb einer einzigen Prozedur vorkommen, heißen lokale Variablen. Lokale Variablen haben zwei Qualitäten, die Sie sich merken müssen:

  • Keine Programmierung außerhalb ihrer eigenen Prozedur kann mit ihnen interagieren, entweder um ihren Wert zu lesen oder um ihren Wert zu ändern. Ihr Geltungsbereich ist auf ihr eigenes Verfahren beschränkt.
  • Wenn VB die Prozedur beendet, in der sie sich befinden, verdunstet ihr Wert. Wenn diese Prozedur ein zweites Mal ausgeführt wird, ist der Wert, den die lokale Variable einmal enthielt, nicht mehr vorhanden. Eine Ausführung des Verfahrens ist ihre Lebensdauer.
  • Es gibt Situationen, in denen der Wert einer lokalen Variablen erhalten bleiben soll. In diesen Fällen verwenden Sie den Befehl Static anstelle des Befehls Dim:

Private Sub Form1_Load (ByVal-Absender als System. Object, ByVal und als System. EventArgs) Behandelt MyBase. Laden

Dim n As Integer

Statisch x As Integer

End Sub

In diesem Beispiel verliert die Variable n ihren Wert, wenn das End Sub ausgeführt wird. Die Variable x behält jedoch ihren Wert bei, bis das Programm heruntergefahren wird. Anders ausgedrückt: Wenn Sie den statischen Befehl mit einer lokalen Variablen verwenden, bleibt der Wert dieser Variablen für die Lebensdauer Ihrer Anwendung erhalten. (Lifetime bedeutet, wie lange etwas in einem Programm vorhanden ist.)

Was glauben Sie, würde passieren, wenn Sie zwei Befehlsschaltflächen in Ihr Formular einfügen, und dann das Programm ausführen und zuerst auf Command1 klicken und dann auf Command2 klicken. Dieses nächste Programm?

Privater Sub Button1_Click (ByVal Absender als System. Objekt, ByVal und als System. EventArgs) Handles Button1. Klicken Sie auf

Dim X As Integer

X = 12

X = X + 5

End Sub

Privater Sub Button2_Click (ByVal Absender als System. Objekt, ByVal e als System. EventArgs) Handles Button2.. Klicken Sie auf

Dim X As Integer

MsgBox (X)

End Sub

Das Meldungsfeld zeigt nichts an. Die Variable X im Click-Ereignis von Command1 ist eine völlig andere Variable als das X im Click-Ereignis von Command2. Sie sind örtlich begrenzt und haben einfach keine Beziehung zueinander, nicht mehr als zwei Fremde namens Mike, die zufällig in der Bronx leben und sich nie treffen.

Aber was ist, wenn beide Prozeduren in der Lage sein sollen, auf dieselbe Variable zuzugreifen und sie zu manipulieren? Dazu definieren Sie die Variable außerhalb Ihrer Prozeduren. Versuch es. Klicken Sie oberhalb der ersten Prozedur (gerade über der Zeile Private Sub Form1_Load) im Codefenster, um den Einfügemarke dorthin zu verschieben.

Geben Sie nun Folgendes ein:

Dim x As Integer

An dieser Stelle möchten Sie alle Variablen platzieren, die Sie formularweit ansprechen möchten, dh alle Prozeduren in dieser Form zulassen (Form1 (in diesem Fall), um die Variable lesen und ändern zu können. (Der Bereich, in den Sie formularweite Variablen gesetzt haben, wurde vor VB. NET als Bereich Allgemeine Deklarationen bezeichnet.)

Jetzt mit dieser X-Variable Dimmt es oben (außerhalb) alle Subs und andere Prozeduren, wenn Wenn Sie dasselbe Programm ausführen, auf Command1 klicken und dann auf Command2 klicken, sehen Sie das Ergebnis, das Sie sehen möchten: die Zahl 17. Wenn Sie X als formularweit definieren, können die beiden Schaltflächen auf diese Variable X zugreifen.Löschen Sie die beiden Dim-Anweisungen, die X zuvor innerhalb dieser beiden Button-Ereignisse deklariert haben. Jetzt beziehen sich X = X + 5 und MsgBox (X) auf dieselbe Variable mit dem Namen X.

Wenn eine Variable einen formularweiten Bereich hat, steht sie allen Prozeduren in diesem Formular zur Verfügung. Es steht jedoch nicht den Prozeduren in anderen Formen im Projekt zur Verfügung.

Verständnis von Scope in Visual Basic. NET - Dummies

Die Wahl des Herausgebers

Tipps für die Auswahl von Feldtypen in Access 2013 - Dummies

Tipps für die Auswahl von Feldtypen in Access 2013 - Dummies

Beim Entwerfen einer Datenbank in Access 2013 Entscheiden Sie, welcher Typ jedes Feld sein wird. Access bietet 12 Feldtypen, aus denen Sie auswählen können. Wählen Sie den Feldtyp aus, der am besten die Daten beschreibt, die Sie im Feld speichern möchten, und das funktioniert für den Analysetyp, den Sie benötigen, um die ...

Nützliche Funktionen in Access 2007 - Dummies

Nützliche Funktionen in Access 2007 - Dummies

Obwohl Access 2007 über mehrere integrierte Funktionen verfügt, dürfen Sie nicht mehr verwenden. als ein paar von ihnen in Ihren Berichten. Dennoch, wenn Sie nicht wissen, dass sie verfügbar sind, könnten Sie viele der Funktionen vermissen, die Sie wirklich nützlich finden könnten. Obwohl diese Liste weit davon entfernt ist, umfassend zu sein, zeigt diese Tabelle eine Reihe von Funktionen ...

Sichern Ihrer Access 2003-Datenbank als MDE-Datei - Dummies

Sichern Ihrer Access 2003-Datenbank als MDE-Datei - Dummies

Wenn Sie eine Access 2003-Datenbank erstellen. andere Leute - besonders Leute, die ein wenig ratlos über Access sind - Sie können Ihre Datenbank sperren, um andere Benutzer daran zu hindern, Änderungen vorzunehmen, die sie möglicherweise beschädigen. Sie können Sicherheit in Form von Benutzernamen und Passwörtern hinzufügen, aber ...

Die Wahl des Herausgebers

Ruby Datentypen und Variablen - Dummys

Ruby Datentypen und Variablen - Dummys

Variablen in Ruby werden mit alphanumerischen Zeichen und dem Unterstrich (_) bezeichnet. und kann nicht mit einer Zahl oder einem Großbuchstaben beginnen. Variablen, wie in der Algebra, sind Schlüsselwörter, die verwendet werden, um Datenwerte für eine spätere Verwendung zu speichern. Obwohl sich die in einer Variablen gespeicherten Daten ändern können, ist der Variablenname immer derselbe. Denken Sie an ...

Mit Array und Hash Built-in und verwandten Methoden - Dummies

Mit Array und Hash Built-in und verwandten Methoden - Dummies

Ruby hat viele integrierte Klassen, aber vielleicht die nützlichsten Objekte für die Speicherung anderer Daten sind die Container-Klassen Array und Hash. Sie können viel Zeit beim Codieren sparen, wenn Sie sich daran erinnern, dass jede dieser Klassen viele nützliche Methoden für den Zugriff und die Manipulation ihrer Inhalte hat. Array-Grundlagen Verwenden Sie Arrays für Listen ...

Wie man Scratch-Grafiken in andere Anwendungen exportiert - Dummies

Wie man Scratch-Grafiken in andere Anwendungen exportiert - Dummies

Scratch-Benutzer können Grafiken für andere Anwendungen entwerfen und exportieren wie Microsoft Word und PowerPoint. Eine einfach zu findende Schaltfläche (aus Datei hochladen) ermöglicht es Benutzern, Grafiken in Scratch zu importieren, aber viele Benutzer wissen nicht, wie sie Grafiken auf einem Computer speichern und die Bilder wie andere Grafikdateien exportieren können. Öffnen Sie ein Scratch-Projekt. ...

Die Wahl des Herausgebers

Hinzufügen von Fußnoten und Endnoten in Word 2016 - dummies

Hinzufügen von Fußnoten und Endnoten in Word 2016 - dummies

Fußnoten und Endnoten in Word 2016 enthalten Bonusinformationen, eine Klarstellung oder beiseite, um Text auf einer Seite zu ergänzen. Jede ist im Text durch eine hochgestellte Zahl oder einen Buchstaben gekennzeichnet1. 1 Siehe? Es klappt! Der Unterschied zwischen einer Fußnote und einer Endnote liegt in der Platzierung: Eine Fußnote wird unten angezeigt ...

Wie man Datum und Uhrzeit in Word 2013 Dokument hinzufügt - Dummies

Wie man Datum und Uhrzeit in Word 2013 Dokument hinzufügt - Dummies

Sie haben wahrscheinlich Leute Sie möchten das aktuelle Datum und die aktuelle Uhrzeit kennen oder möchten einfach das Datum oder die Uhrzeit oder beide in Ihr Word 2013-Dokument einfügen. Bis auf wenige Ausnahmen sind Zeitreisende die einzigen, die sich für das laufende Jahr erkundigen. Aber vielleicht brauchen Sie es in Ihrem Dokument ...

Wie man Datum und Uhrzeit zu einem Word 2010 Dokument hinzufügt - Dummies

Wie man Datum und Uhrzeit zu einem Word 2010 Dokument hinzufügt - Dummies

Sie wahrscheinlich haben Leute, die das aktuelle Datum und die Uhrzeit in Ihrem Word 2010-Dokument kennen möchten, oder vielleicht möchten Sie nur das Datum oder die Uhrzeit (oder beides) in Ihr Dokument einfügen. Word hat viele Tricks, um es möglich zu machen. Festhalten des aktuellen Datums oder der aktuellen Uhrzeit in einem Word-Dokument Abgesehen von der Suche ...