Sie sind hier: Wissen

Was ist Visual Basic 8.0 ?

Die Sprache Visual Basic ist in der Version 8.0 Teil des .NET Framework 2.0.
Der offizielle Produktname ist "Visual Basic 2005" (nicht Visual Basic .NET 2005)

Visual Basic 2005 ist ein Alias für Visual Basic 8.0. Die Vorgängerversionen hießen noch "Visual Basic .NET 7.x". Microsoft folgt damit dem eigenen Trend, das ".NET" wieder aus allen Produktnamen zu entfernen. Dadurch kann man nun nicht mehr einfach das objektorientierte und .NET-basierte Visual Basic von dem nur teilweise objektorientierten und COM-basierten Visual Basic (bis Version 6.0) zu trennen.

Neuerungen in Visual Basic 8.0 an der Sprache gegenüber der Vorgängerversion 7.1:

  • Generics (Schlüsselwort "Of")
  • Operatorenüberladung (Schlüsselworte "Operator", "Widening" und "Narrowing")
  • Datentypen UShort, UInteger und ULong
  • Datentyp signed byte (SByte)
  • continue-Schlüsselwort, um eine Schleife vorzeitig fortzusetzen
  • Using-Block, der einen Aufruf der Methode Dispose() realisiert, wenn ein Objekt die Schnittstelle System.IDisposable implementiert.
  • Compiler-Warnung bei nicht initialisierten Variablen
  • IsNot-Operator zum Objektvergleich
  • XML-Code-Dokumentation
  • Partielle Klassen: Die Implementierung einer Klasse kann in mehrere Dateien aufgeteilt sein. Diese Funktion wird sowohl von Windows Forms als auch von Web Forms verwendet zur Trennung von Code und Layout.
  • gemischte Sichtbarkeit für Getter- und Setter-Routine bei Properties

Visual Basic holt weiter auf

Bereits in den Versionen 7.0 und 7.1 konnte sich die erweiterte Sprache Visual Basic mit dem im Rahmen von .NET neu entwickelten C# messen lassen. In einigen Bereichen, in denen C# bislang noch eine Nasenspitze voraus lag, setzt Visual Basic mit der Version 8.0 nach. Dabei ist an vorderster Stelle die Operatorüberladung zu nennen. Operatorüberladung erlaubt es, einem der unären oder binären Standardoperatoren (+, -, *, =, +, And, Or, Not etc.) bei der Verwendung mit beliebigen Klassen als Operatoren eine eigene Bedeutung zuzuweisen. In Listing 1 ist der Plus-Operator für die Addition eines Flug-Objekts zu einem Passagier-Objekt implementiert, wodurch eine elegante Flugbuchung möglich wird.

Auch die schon vorher in C# verfügbare XML-Code-Kommentierung ist nun in Visual Basic eingebaut. Nach einem dreifachen Häkchen - statt des üblichen einfachen Häkchens - gestattet Visual Basic 8.0 eine XML-Sprache, die der Compiler zusammen mit Assembly-Metadaten in eine XML-Datei parallel zum Kompilat ablegt (siehe ebenfalls Listing 1). Die XML-Datei kann der Entwickler zur Erstellung von technischen Dokumentationen verwenden. Entsprechende Werkzeuge zur Weiterverarbeitung der XML-Daten gibt es aber nicht von Microsoft, sondern nur von Drittanbietern (siehe [3]). Auch der using-Block, bei dem am Blockende automatisch die Dispose()-Methode der im Blockkopf deklarieren Variablen aufgerufen wird, ist nun in Visual Basic verfügbar.

Neu im Compiler von Visual Basic 2005 im Vergleich zu Visual Basic 7.x ist, dass er die Kompatibilität mit der Common Language Specification (CLS) überprüft und warnt, wenn man Typen (z.B. UInteger) verwendet, die nicht CLS-konform sind. Außerdem prüft der Visual Basic-Compiler nun genau wie der C#-Compiler, ob deklarierte Variablen überhaupt jemals verwendet werden und ob verwendete Variablen bereits initialisiert sind.

''' <summary>
''' Die Buchung eines Flug ist möglich mit dem Operator +.
''' <example>
''' Dim p As New de.WWWings.PassagierSystem.Passagier("Schwichtenberg", "Holger")
''' Dim f As New de.WWWings.Flug("100", "Essen/Mühlheim", "")
''' Dim b As de.WWWings.PassagierSystem.Buchung
''' b = f + p
''' </example>
''' </summary>
''' <param name="flug">Erster Operator ist ein Objekt vom Typ Flug.</param>
''' <param name="pass">Zweiter Operator ist ein Objekz vom Typ Passagier</param>
''' <returns>Das Ergebnis ist ein Flug-</returns>
''' <remarks></remarks>
Shared Operator +(ByVal Flug As Flug, ByVal Pass As de.WWWings.PassagierSystem.Passagier) As PassagierSystem.Buchung
Pass.Buchen(Flug)
Dim b As New PassagierSystem.Buchung(Flug, Pass)
Return b
End Operator
Listing 1: Operatorüberladung und XML-Code-Kommentare in Visual Basic 2005

Visual Basic 8.0 enthält weitere, im Vergleich zu den vorgenannten Punkten unwesentliche Neuerungen:
  • für die Datentypen SByte, UShort, UInteger und ULong gibt es nun eigene Schlüsselwörter. In .NET 1.x konnten diese Typen nur direkt aus der Klasssenbibliothek (z.B. System.UInt32) verwendet werden.
  • Das Konstrukt "not x is y" kann der Entwickler nun verkürzt als "x isNot y" schreiben.
  • Getter- und Setter-Routine bei Properties dürfen einen unterschiedliche Sichtbarkeit haben, z.B. darf der Getter Public sein und der Setter Private.
  • Mit dem continue-Schlüsselwort darf der Entwickler einen erneuten Schleifendurchlauf initiieren.

Original-Quelle (MS, PDC 2003):

Continue Statement
Visual Basic now supplies a Continue statement, which immediately skips to the next iteration of a Do, For, or While loop.

Default Instances
Visual Basic now allows you to refer to members of certain classes, such as Form1, by using the class name, instead of explicitly creating an instance of it.

IsNot Operator
Visual Basic now furnishes an IsNot operator, with which you can avoid using the Not and Is operators in an awkward order.

Using Statement
Visual Basic now offers a Using...End Using block to ensure disposal of a system resource when your code leaves the block for any reason.

Explicit Zero Lower Bound on an Array
Visual Basic now permits an array declaration to specify the lower bound (0) of each dimension along with the upper bound.

CLS Compliance Checking
Visual Basic now generates a warning for each line of code that contains any specification or operation that the Common Language Specification (CLS) does not support.

Properties with Mixed Access Levels
Visual Basic now allows you to declare a property with different access levels on its Get and Set procedures.

Unsigned Types
Visual Basic now supports unsigned integer data types (UShort, UInteger, and ULong) as well as the signed type SByte.

Operator Overloading
Visual Basic now allows you to define a standard operator (such as +, &, Not, or Mod) on a class or structure you have defined.

Hiding Designer-Generated Code
Visual Basic now provides a mechanism to hide sensitive or delicate code from the normal view of the integrated development environment (IDE).

Data Type Arguments
Visual Basic now supports data type arguments on classes, structures, interfaces, and procedures. A data type argument specifies at compilation time the data type of one of the elements in the class, structure, interface, or procedure.

Uninitialized Variable Checking
Visual Basic now generates a warning for each potentially uninitialized variable. A variable has this status if there is at least one possible execution path that does not assign any value to the variable before using it.

Beratung & Support

Schulungen zu diesem Thema

 Anfrage für eine individuelle Schulung zum Thema Visual Basic 8.0  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema

  Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
  C# 13.0 Crashkurs
  Cross-Plattform-Apps mit .NET MAUI entwickeln
  Moderne Datenzugriffslösungen mit Entity Framework Core 9.0
  .NET 9.0 Update: Die Neuerungen in .NET 9.0 gegenüber .NET 8.0
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  .NET 8.0 Update: Die Neuerungen in .NET 8.0 gegenüber .NET 7.0
  .NET 8.0 Update: Die Neuerungen in .NET 8.0 gegenüber .NET 7.0
  Concurrency with Modern C++: What every professional C++ programmer should know about concurrency
  C++20: Get the Details
  Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
  Moderne Datenzugriffslösungen mit Entity Framework Core 8.0
  C# 12.0 Crashkurs
  App-Entwicklung für Mobile und Desktop: Software Engineering mit .NET MAUI und Comet für iOS, Android, Windows und macOS
  Cross-Plattform-Apps mit .NET MAUI entwickeln
  Blazor 7.0: Blazor WebAssembly, Blazor Server und Blazor Hybrid
  C# 11.0 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 7.0
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  C++ Core Guidelines Explained: Best Practices for Modern C++
  App Engineering: SwiftUI, Jetpack Compose, .NET MAUI und Flutter
  Vue.js 3 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 6.0
  Blazor 6.0: Blazor WebAssembly, Blazor Server und Blazor Desktop
  C# 10.0 Crashkurs
  Cross-Plattform-Apps mit Xamarin.Forms entwickeln
  Developing Web Components with TypeScript: Native Web Development Using Thin Libraries
  PowerShell – kurz & gut
  C# 9.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core und Xamarin
  ASP.NET Core Blazor 5.0: Blazor WebAssembly und Blazor Server - Moderne Single-Page-Web-Applications
  Windows PowerShell 5 und PowerShell 7: Das Praxisbuch
  Moderne Datenzugriffslösungen mit Entity Framework Core 5.0
  ASP.NET Core Blazor 3.1/3.2: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
  ASP.NET Core Blazor 3.0/3.1: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
  Moderne Datenzugriffslösungen mit Entity Framework Core 3.1
  C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 3.0
  Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.1/2.2
  Moderne Webanwendungen für .NET-Entwickler: Server-Anwendungen, Web APIs, SPAs & HTML-Cross-Platform-Anwendungen mit ASP.NET, ASP.NET Core, JavaScript
  C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Modern Data Access with Entity Framework Core: Database Programming Using .NET, .NET Core, UWP, and Xamarin with C#
  Modernes C++: Concurrency meistern
  Windows PowerShell und PowerShell Core - Der schnelle Einstieg: Skriptbasierte Systemadministration für Windows, Linux und macOS
  Programmierung in Python
  C# 7.2 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.0/2.1
  Effizienter Datenzugriff mit Entity Framework Core: Datenbankprogrammierung mit C# für .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.0
  Windows PowerShell 5 und PowerShell Core 6 - Das Praxishandbuch
  Angular - Das Praxisbuch zu Grundlagen und Best Practices
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.0, 1,1 und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.0, 1,1 und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.1 und 2.0-Preview2
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.1
  Introducing Regular Expressions: JavaScript and TypeScript
  Introducing Web Development
  Introducing Bootstrap 4
  Programming Web Applications with Node, Express and Pug
  Einführung in TypeScript: Grundlagen der Sprache TypeScript 2
  Pug – Die Template-Engine für node.js
  Web-Programmierung mit Node, Express und Pug
  Windows PowerShell 5 – kurz & gut
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.1
  Windows PowerShell 5.0 - Das Praxishandbuch
  PHP 7 und MySQL: Von den Grundlagen bis zur professionellen Programmierung
  Windows Scripting Lernen
  .NET Praxis - Tipps und Tricks für .NET und Visual Studio
  Grundlagen für Web-Entwickler: Protokolle, HTML und CSS
  Bootstrap 3 - Stile und Komponenten
  Bootstrap 4 - Stile und Komponenten
  Einführung in JavaScript: ECMAScript 5
  Einführung in node.js
  express – Middleware für node.js
  JADE – Die Template Engine für node.js
  Reguläre Ausdrücke in JavaScript
  Moderne Datenzugriffslösungen mit Entity Framework 6
  C++ Standardbibliothek
  AngularJS: Moderne Webanwendungen und Single Page Applications mit JavaScript
  Microsoft SharePoint Server 2013 und SharePoint Foundation: Das umfassende Handbuch
  SQL Server 2014 für Professionals: Hochverfügbarkeit, Cloud-Szenarien, Backup/Restore, Monitoring & Performance
  Moderne Webanwendungen mit ASP.NET MVC und JavaScript
  Windows PowerShell 4.0 - Das Praxishandbuch
  JavaScript: Das umfassende Handbuch, inkl. HTML5, JavaScript-Frameworks, jQuery, OOP
  C++11 für Programmierer
  C++ kurz und gut
  Microsoft ASP.NET 4.5 - Entwicklerbuch
  Moderne Webanwendungen mit ASP.NET MVC
  Verteilte Systeme und Services mit .NET 4.5
  Scripting mit Windows PowerShell 3.0 - Der Workshop: Skript-Programmierung mit Windows PowerShell 3.0 vom Einsteiger bis zum Profi
  Windows 8 für Administratoren
  Windows 8.1 - Das Handbuch (27. November 2013)
  Windows Store Apps entwickeln mit C# und XAML - Crashkurs
  .NET 4.5 Update
  Windows Scripting Lernen
  WPF 4.5 und XAML
  Datenbankprogrammierung mit .NET 4.5
  C++11: Der Leitfaden für Programmierer zum neuen Standard
  Verteilte Systeme und Services mit .NET 4.0
  Microsoft ASP.NET 4.0 mit C# 2010 - Entwicklerbuch
  Agile Software Engineering with Visual Studio
  Datenbankprogrammierung mit .NET 4.0. Mit Visual Studio 2010 und SQL Server 2008 R2
  Microsoft SharePoint Server 2010 und SharePoint Foundation 2010
  Microsoft SQL Server 2008 R2 - Das Entwicklerbuch
  Microsoft Viusal C# 2010
  Office 2010 Programmierung mit VSTO und .NET 4.0: Word, Excel und Outlook erweitern und anpassen
  Programmieren mit dem ADO.NET Entity Framework
  .NET 4.0 Crashkurs
  Visual Basic 2010: Grundlagen, ADO.NET, Windows Presentation Foundation
  .NET 4.0 Update
  Windows PowerShell 2.0 - Das Praxishandbuch
  Windows 7 im Unternehmen
  Agile Muster und Methoden
  Ajax
  ASP.NET 4.0
  ASP.NET 4.0 mit Visual C# 2010
  JavaScript
  PHP 5-Migration
  Scripting mit Windows PowerShell 2.0 - Der Einsteiger-Workshop
  SQL Server 2008 R2: Das Programmierhandbuch. Inkl. ADO.NET 3.5, LINQ to Entities und LINQ to SQL
  Visual Basic 2010
  Windows PowerShell 2.0 - Crashkurs
  Windows Server 2008 R2
  Windows Scripting
  Windows Scripting Lernen
  Data Mining mit Microsoft SQL Server
  Windows 7 für Administratoren
  Microsoft ASP.NET 3.5 mit Visual Basic 2008 - Entwicklerbuch
  .NET 3.5
  Essential PowerShell
  .NET 3.5 Crashkurs
  Webanwendungen mit ASP.NET 3.5 und AJAX Crashkurs
 Alle unsere aktuellen Fachbücher  E-Book-Abo für ab 99 Euro im Jahr