Visueller grundlegender.NET

Visueller Grundlegender.NET (VB.NET), ist eine objektorientierte Computerprogrammiersprache, die als eine Evolution klassischen Visual Basic (VB) angesehen werden kann, der auf dem.NET Fachwerk durchgeführt wird. Microsoft liefert zurzeit zwei Hauptdurchführungen von Grundlegenden Visuellen: Microsoft Visual Studio 2010, der kommerzielle Software und Visuelle Grundlegende Ausdrückliche Ausgabe 2010 ist, die kostenlos ist.

Versionen

Es gibt 5 Versionen von Visuellem Grundlegendem von der Grundlegenden Sehmannschaft durchgeführtem.NET.

Visueller Grundlegender.NET (2002) (VB 7.0)

Die erste Version von Visuellen Grundlegenden.NET, die auf dem.NET Fachwerk 1.0 laufen. Die wichtigste Eigenschaft wird Code Geführt, der sich von Visuellen Grundlegenden 6.0 und vorher abhebt.

.NET Grundlegender Seh-2003 (VB 7.1)

.NET Grundlegender Seh-2003 wurde mit der Version 1.1 des.NET Fachwerks veröffentlicht. Neue Eigenschaften haben Unterstützung für das.NET Kompaktfachwerk eingeschlossen, und ein besserer VB befördern Zauberer. Verbesserungen wurden auch zur Leistung und Zuverlässigkeit des.NET IDE (besonders der Hintergrundbearbeiter) und Durchlaufzeit gebildet. Außerdem war.NET Grundlegender Seh-2003 im Visuellen Studio.NET verfügbar Akademische Ausgabe (VS03AE). VS03AE wird zu einer bestimmten Anzahl von Gelehrten aus jedem Land ohne Kosten verteilt.

Grundlegender Seh-2005 (VB 8.0)

Grundlegender Seh-2005 ist der Name, der verwendet ist, um sich auf den Visuellen Grundlegenden.NET, Microsoft zu beziehen, das sich dafür entschieden hat, den.NET Teil des Titels fallen zu lassen.

Für diese Ausgabe hat Microsoft viele Eigenschaften hinzugefügt, einschließlich:

  • Editieren Sie und setzen Sie fort
  • Designmalige Ausdruck-Einschätzung.
  • Mein pseudo-namespace (Übersicht, Details), der zur Verfügung stellt:
  • der leichte Zugang zu bestimmten Gebieten des.NET Fachwerks, die sonst bedeutenden Code zum Zugang verlangen
  • dynamisch erzeugte Klassen (namentlich Mein. Formen)
  • Verbesserungen zu VB-to-VB.NET Konverter
  • Das Verwenden-Schlüsselwort, den Gebrauch von Gegenständen vereinfachend, die das Anordnen Muster zu kostenlosen Quellen verlangen
  • Gerade codiert Mein Code, der, wenn sich das Beseitigen verbirgt, Textbaustein-Code (überschreitet), der vom Sehstudio.NET IDE und der Systembibliothek geschrieben ist
  • Datenquellschwergängigkeit, Datenbankentwicklung des Kunden/Servers erleichternd

Die obengenannten Funktionen (besonders Mein) sind beabsichtigt, um den Fokus des visuellen Grundlegenden.NET als eine schnelle Anwendungsentwicklungsplattform zu verstärken und weiter ihn von C#. zu unterscheiden

Grundlegender Seh-2005 hat Eigenschaften eingeführt, die beabsichtigt sind, um die Lücken zwischen sich und anderen "stärkeren".NET Sprachen auszufüllen, beitragend:

'IsNot' Maschinenbediener-Patent-Anwendung

Eine andere Eigenschaft von Grundlegendem Seh-2005 ist der Maschinenbediener, der gleichwertig dazu macht, der traurige Berühmtheit gewonnen hat, als, wie man fand, es das Thema einer Patent-Anwendung von Microsoft war.

Grundlegender Seh-2008 (VB 9.0)

Visuelle Grundlegende 9.0 wurden zusammen mit dem Microsoft.NET Fachwerk 3.5 am 19. November 2007 veröffentlicht.

Für diese Ausgabe hat Microsoft viele Eigenschaften hinzugefügt, einschließlich:
  • Ein wahrer bedingter Maschinenbediener, "Wenn (Bedingung als boolean, truepart, falsepart)", um die "IIf"-Funktion zu ersetzen.
  • Anonyme Typen
  • Unterstützung für LINQ
  • Lambda-Ausdrücke
  • XML Druckfehler
  • Typ-Schlussfolgerung
  • Erweiterungsmethoden

Grundlegender Seh-2010 (VB 10.0)

Im April 2010 hat Microsoft Grundlegenden Seh-2010 veröffentlicht. Microsoft hatte geplant, Dynamic Language Runtime (DLR) für diese Ausgabe zu verwenden, aber sich zu einer Co-Evolutionsstrategie zwischen Visuellem Grundlegend und Schwester-Sprache C# bewegt, um beide Sprachen in die nähere Gleichheit miteinander zu bringen. Die angeborene Fähigkeit von visuellem Basic, dynamisch mit CLR und COM-Gegenständen aufeinander zu wirken, ist erhöht worden, um mit dynamischen Sprachen zu arbeiten, hat auf den DLR wie IronPython und IronRuby gebaut. Der Grundlegende Sehbearbeiter wurde verbessert, um Linienverlängerung in einer Reihe allgemeiner Zusammenhänge in vielen Fällen abzuleiten, die das Bedürfnis nach "_" Linienverlängerungscharakter entfernen. Außerdem wurde die vorhandene Unterstützung von Reihenfunktionen mit der Unterstützung für ReihenU-Boote sowie Mehrlinienversionen sowohl des U-Boot-als auch Funktionslambdas ergänzt.

Beziehung zu älteren Versionen von Visuellen Grundlegend (VB6 und vorherig)

Ob Visueller Grundlegender.NET als gerade eine andere Version von Grundlegenden Visuellen betrachtet werden sollte oder eine völlig verschiedene Sprache ein Thema der Debatte ist. Das ist nicht offensichtlich, als sobald werden die Methoden, die bewegt worden sind, und das kann automatisch umgewandelt werden, verantwortlich gewesen, die grundlegende Syntax der Sprache hat viele "brechende" Änderungen, gerade Hinzufügungen nicht gesehen, um neue Eigenschaften wie das strukturierte Ausnahme-Berühren zu unterstützen, und Ausdrücke gekurzschlossen. Zwei wichtige Datentyp-Änderungen sind mit der Bewegung zu VB.NET vorgekommen. Im Vergleich zu VB6 ist der Datentyp in der Länge von 16 Bit bis 32 Bit verdoppelt worden, und der Datentyp ist in der Länge von 32 Bit bis 64 Bit verdoppelt worden. Das ist für alle Versionen VB.NET wahr. Eine ganze 16-Bit-Zahl in allen Versionen dessen ist jetzt VB.NET als a bekannt. Ähnlich sind die Windows-Formen GUI Redakteur im Stil und der Funktion dem Grundlegenden Sehform-Redakteur sehr ähnlich.

Die Versionsnummern, die für das neue Sehgrundlegende (7, 7.1, 8, 9...) klar verwendet sind, deuten an, dass es von Microsoft so noch im Wesentlichen dasselbe Produkt angesehen wird wie das alte Sehgrundlegende.

Die Dinge, die sich bedeutsam geändert haben, sind die Semantik — von denjenigen einer Gegenstand-basierten Programmiersprache, die auf einem deterministischen, bezugsaufgezählten Motor läuft, der auf COM in eine völlig objektorientierte Sprache gestützt ist, die durch das.NET Fachwerk unterstützt ist, das aus einer Kombination der Durchlaufzeit der Gemeinsamen Sprache (eine virtuelle Maschine mit generational Müll-Sammlung und gerade rechtzeitig Kompilationsmotor) und eine viel größere Klassenbibliothek besteht. Die vergrößerte Breite der Letzteren ist auch ein Problem, mit dem sich VB Entwickler befassen müssen, wenn sie in die Sprache kommen, obwohl das durch Meine Eigenschaft im Sehstudio 2005 etwas gerichtet wird.

Die Änderungen haben viele zu Grunde liegende Annahmen über das "richtige" Ding verändert, in Bezug auf die Leistung und Haltbarkeit zu tun. Einige Funktionen und Bibliotheken bestehen nicht mehr; andere sind verfügbar, aber so nicht effizient wie die "heimischen".NET Alternativen. Selbst wenn sie kompilieren, werden am meisten umgewandelte VB6 Anwendungen verlangen, dass ein Niveau des Wiederfactorings vollen Vorteil der neuen Sprache nimmt. Dokumentation ist verfügbar, um Änderungen in der Syntax zu bedecken, bei Anwendungen, Aufstellung und Fachsprache die Fehler beseitigend.

Vergleichende Proben

Das folgende einfache Beispiel demonstriert Ähnlichkeit in der Syntax zwischen VB und VB.NET. Beide Beispiele lassen einen Nachrichtenkasten knallen, der "Hallo, Welt" mit einer Taste OK sagt.

Privates U-Boot Command1_Click

MsgBox "hallo, Welt"

EndU-Boot

</syntaxhighlight>

VB.NET können Beispiel, MsgBox oder die Klasse von MessageBox verwendet werden:

Öffentliche Klasse Form1

Privates U-Boot Button1_Click (Absender von ByVal Als System. Gegenstand, ByVal e Als System. EventArgs) Griffe

Button1. Klicken Sie

auf

Msgbox ("hallo, Welt")

EndU-Boot

Endklasse

</syntaxhighlight>
  • Sowohl Visuelle Grundlegende 6 als auch Visueller Grundlegender.NET werden und Behauptungen automatisch erzeugen, wenn auf den entsprechenden Knopf in der Designansicht geklickt wird. Visueller Grundlegender.NET wird auch das notwendige und die Behauptungen erzeugen. Der Entwickler muss nur die Behauptung zur Anzeige "Hallo," Weltnachrichtenkasten hinzufügen.
  • Alle Verfahren-Anrufe müssen mit Parenthesen in VB.NET gemacht werden, wohingegen in VB6 es verschiedene Vereinbarung für Funktionen (Parenthesen erforderlich) und U-Boote (keine Parenthesen erlaubt, wenn nicht genannt, mit dem Schlüsselwort) gab.
  • Die Namen und sind nicht obligatorisch. Jedoch sind das Verzug-Namen für einen Befehl-Knopf in VB6 und VB.NET beziehungsweise.
  • In VB.NET wird das Schlüsselwort verwendet, um das U-Boot einen Dressierer für das Ereignis des Gegenstands zu machen. In VB6 müssen Ereignis-Dressierer-U-Boote einen besonderen Namen haben, der aus dem Namen ("Command1") des Gegenstands, ein Unterstreichen (" _ "), und dem Namen des Ereignisses ("Klick", folglich "Command1_Click") besteht.
  • Es gibt eine Funktion hat den namespace herbeigerufen, der ähnlich an die entsprechende Funktion in VB6 gewöhnt sein kann. Es gibt eine Meinungsverschiedenheit über der Funktion, als eine beste Praxis (nicht nur eingeschränkt auf die Vertretung von Nachrichtenkästen sondern auch bezüglich anderer Eigenschaften des namespace) zu verwenden. Einige Programmierer ziehen es vor, Sachen "der.NET Weg" zu machen, da die Fachwerk-Klassen mehr Eigenschaften haben und weniger sprachspezifisch sind. Andere behaupten, dass das Verwenden sprachspezifischer Eigenschaften Code lesbarer (zum Beispiel, mit (C#) oder (VB.NET) statt) macht.
  • VB 2008 ist die Einschließung dessen fakultativ geworden.

Das folgende Beispiel demonstriert einen Unterschied zwischen VB6 und VB.NET. Beide Beispiele schließen das aktive Fenster.

Klassisches VB Beispiel:

U-Boot cmdClose_Click

Laden Sie mich aus

EndU-Boot</syntaxhighlight>

VB.NET Beispiel:

U-Boot btnClose_Click (Absender von ByVal Als Gegenstand, ByVal e Als EventArgs) Griffe btnClose. Klicken Sie

auf

Ich. Nahe

EndU-Boot</syntaxhighlight>

Das 'cmd' Präfix wird durch das 'btn' Präfix ersetzt, sich der neuen vorher erwähnten Tagung anpassend.

Visuelle Grundlegende 6 haben allgemeine Maschinenbediener-Abkürzungen nicht zur Verfügung gestellt. Der folgende ist gleichwertig:

VB6 Beispiel:

U-Boot Timer1_Timer

Ich. Höhe = Ich. Höhe - 1

EndU-Boot</syntaxhighlight>

VB.NET Beispiel:

U-Boot Timer1_Tick (Absender von ByVal Als Gegenstand, ByVal e Als EventArgs) Griffe Timer1. Zecke

Ich. Höhe - = 1

EndU-Boot</syntaxhighlight>

Kritik

Langfristige Grundlegende Sehbenutzer haben sich über Visuellen Grundlegenden.NET beklagt, weil anfängliche Versionen eine Vielzahl von Sprachkonstruktionen und Benutzerschnittstelle-Eigenschaften fallen lassen haben, die in VB6 verfügbar waren (der von Microsoft nicht mehr verkauft wird), und die Semantik von denjenigen geändert hat, die geblieben sind; zum Beispiel, in VB.NET Rahmen werden (standardmäßig) durch den Wert passiert, nicht durch die Verweisung. Kritiker beziehen sich abwertend auf VB.NET als Visueller Fred oder DOTNOT. Am 8. März 2005 wurde eine Bitte als Antwort auf die Verweigerung des Microsofts aufgestellt, seine Hauptströmungsunterstützung für VB6 zu erweitern.

VB.NET stellen Unterstützer fest, dass die neue Sprache in vieler Hinsicht stärker ist als das Original, modernen orientierten Gegenstand vereinigend, Paradigmen auf eine natürlichere, zusammenhängende und ganze Weise programmierend, als mit früheren Versionen möglich war. Gegner neigen dazu zu antworten, dass, obwohl VB6 Fehler in seinem Gegenstand-Modell hat, die Kosten in Bezug auf die Neuentwicklungsanstrengung für irgendwelche Vorteile zu hoch sind, die durch das Umwandeln zu VB.NET gewonnen werden könnten.

Es ist in decompile Sprachen einfacher, die Common Intermediate Language (CIL), einschließlich VB.NET im Vergleich zu Sprachen ins Visier nehmen, die kompilieren, um Code maschinell herzustellen. Werkzeuge wie.NET-Reflektor können eine nahe Annäherung an den ursprünglichen Code wegen des großen Betrags von in CIL zur Verfügung gestelltem metadata zur Verfügung stellen. Das trifft auch auf frühe Versionen von Grundlegenden Visuellen zu (vor VB5), der zum heimischen Code nicht kompilieren konnte.

Microsoft liefert einen automatisierten VB6-to-VB.NET Konverter mit dem Sehstudio.NET, der sich mit der Zeit verbessert hat, aber es kann den ganzen Code nicht umwandeln, und fast alle nichttrivialen Programme eine manuelle Anstrengung brauchen werden zu kompilieren. Die meisten werden ein bedeutendes Niveau des Codewiederfactorings brauchen, um optimal zu arbeiten. Grundlegende Sehprogramme, die in der Natur hauptsächlich algorithmisch sind, können mit wenigen Schwierigkeiten abgewandert werden; diejenigen, die sich schwer auf solche Eigenschaften wie Datenbankunterstützung, Grafik, ungeführte Operationen oder auf Durchführungsdetails verlassen, sind lästiger. Andere syntaktische Unterschiede beziehen sich auf Änderungen, die vorgenommen sind, um VB.Net in die Anordnung mit anderen.Net Sprachen zu bringen, wie Reihe bei Nullpunkteinstellung (ist die ganze.Net-Reihe 0 zur n-1 Subschrift, wohingegen klassische VB-Reihe standardmäßig, 1 zur n Subschrift ein-basiert war), und das Ausnahme-Berühren strukturiert hat (klassischer VB hat einen Eigentums-AUF DEM FEHLER-Mechanismus verwendet); solche Änderungen können schwieriger oder unmöglicher Bekehrter automatisch sein, und Konverter beflaggen normalerweise solche Problem-Gebiete für die manuelle Konvertierung.

Außerdem werden die erforderlichen Laufzeitbibliotheken für VB6 Programme mit Windows 98 SE und oben versorgt, während VB.NET Programme die Installation des bedeutsam größeren.NET Fachwerks verlangen. Das Fachwerk wird mit Windows 7, Windows-Aussicht, Windows XP Mediazentrum-Ausgabe, Windows XP Block-PC-Ausgabe, Windows-Server 2008 und Windows Server 2003 eingeschlossen. Für andere unterstützte Betriebssysteme wie Windows 2000 oder Windows XP (Nach Hause oder Berufsausgaben) muss es getrennt installiert werden.

Die Antwort des Microsofts auf die Entwickler-Unzufriedenheit hat sich um das Bilden davon leichter konzentriert, neue Entwicklung zu bewegen und vorhandenen codebases von VB6 bis VB.NET auszuwechseln. Ein Angebot 2005 war die VBRun Website, Codeproben und Artikel anbietend, für:

  • Das Verwenden VB.NET, um Aufgaben zu vollenden, die in VB6, wie das Schaffen einer Druckvorschau üblich
waren
  • Die Integrierung von VB6 und VB.NET Lösungen (hat VB Fusion synchronisiert)

Quer-Plattform und Entwicklung der offenen Quelle

Die Entwicklung von Werkzeugen der offenen Quelle für VB.NET die Entwicklung ist im Vergleich zu C# langsam gewesen, obwohl die Modoentwicklungsplattform eine Durchführung von VB.NET-spezifischen Bibliotheken und einem VB.NET 8.0 vereinbaren Bearbeiter zur Verfügung stellt, der in VB.NET, sowie Standardfachwerk-Bibliotheken wie Windows-Formen GUI Bibliothek geschrieben ist.

SharpDevelop und MonoDevelop sind Alternative-IDEN der offenen Quelle.

Beispiele

Der folgende ist ein sehr einfacher VB.NET Programm, eine Version des Klassikers "Hallo" als eine Konsole-Anwendung geschaffenes Weltbeispiel:

Modul Module1

U-Boot wichtig

Konsole. WriteLine ("Hallo, Welt!")

EndU-Boot

Endmodul

</syntaxhighlight>

Die Wirkung ist, den Text Hallo, die Welt zu schreiben! zur Befehl-Linie. Jede Linie dient einem spezifischen Zweck wie folgt:

Modul Module1</syntaxhighlight>

Das ist eine Modul-Definition, eine Abteilung des einer Klasse ähnlichen Codes, obwohl Module Klassen enthalten können. Module dienen als Behälter des Codes, in dem von anderen Teilen eines Programms Verweise angebracht werden kann.

Es ist übliche Praxis für ein Modul und die Codedatei, die es enthält, um denselben Namen zu haben; jedoch ist das nicht erforderlich, weil eine einzelne Codedatei mehr als ein Modul und/oder Klassendefinition enthalten kann.

U-Boot wichtig

</syntaxhighlight>

Das ist der Zugang-Punkt, wo das Programm Ausführung beginnt. U-Boot ist eine Abkürzung "des Unterprogramms".

Konsole. WriteLine ("Hallo, Welt!")

</syntaxhighlight>

Diese Linie führt die wirkliche Aufgabe durch, die Produktion zu schreiben. Konsole ist ein Systemgegenstand, eine Schnittstelle der Befehl-Linie vertretend und programmatic Zugang zu den Standardströmen des Betriebssystems gewährend. Das Programm nennt die Konsole-Methode WriteLine, der die dazu passierte Schnur veranlasst, auf der Konsole gezeigt zu werden. Eine andere übliche Methodik verwendet MsgBox (eine Nachricht Kasten).

Dieses Stück des Codes ist eine Lösung des Dreiecks von Floyd:

Importsystem. Konsole

Modul-Programm

U-Boot wichtig

Dunkle Reihen Als Ganze Zahl

'Eingangsgültigkeitserklärung.

Tun Sie bis zur Ganzen Zahl. TryParse (ReadLine ("Gehen in einen Wert für wie viel zu zeigende Reihen ein:"),

Reihen) Reihen von AndAlso> = 1

WriteLine ("Erlaubt Reihe ist 1 und {0}", Ganze Zahl. MaxValue)

Schleife

'Produktion des Dreiecks von Floyd

Verdunkeln Sie Strom = 1

Für die Reihe = 1 Zu Reihen

Für die Säule = 1, um zu rudern

Schreiben Sie (" {0,-2}", Strom)

Strom + = 1

Folgender

WriteLine

Folgender

EndU-Boot

Schattenkonsole. ReadLine mit einer Version, die eine schnelle Schnur nimmt.

</Zusammenfassung>

Funktion ReadLine (Fakultativ schnell Als Schnur = Nichts) Als Schnur

Wenn schneller IsNot Nichts Dann

Schreiben Sie (veranlassen)

Ende wenn

Geben Sie Konsole zurück. ReadLine

Endfunktion

Endmodul</syntaxhighlight>

Siehe auch

Weiterführende Literatur

Links


Südlich vom Himmel / Jahreszeiten im Abgrund
Impressum & Datenschutz