G-CONCEPT | VB.NET
3826
page-template-default,page,page-id-3826,ajax_updown_fade,page_not_loaded,

VB.NET

Visual Basic .Net est un langage de programmation à la syntaxe similaire à celle de Visual Basic 6.

Néanmoins, ces deux langages sont assez peu comparables dans la pratique tant l’évolution entre ceux-ci est énorme. Le principal changement étant sans conteste l’introduction de l’orientation objet dans le langage.

VB.NET permet de développer en .Net via Visual Studio, c’est-à-dire seulement sur les systèmes d’exploitation Windows (98, 2000, XP, Vista, 7). Il existe cependant un projet visant à porter la plateforme DotNet (et donc VB.NET) sous Linux, MacOS et OpenBSD. Ce projet s’appelle Mono et il permet déjà de faire tourner nativement des applications .NET 2.0.

Il est important de rappeler que tout programme VB.NET est compilé dans le même langage intermédiaire (IL) que C# ou tout autre langage de la plateforme DotNet.

Quelques différences entre C# et VB.NET

Voici les différences les plus flagrants entre VB.NET et C# (VB.NET et C# évoluant, les éléments de cette liste peuvent être obsolètes):

VB supporte les paramètres optionnels (C# ne le supporte que depuis sa version 4)
VB supporte le “late-binding” (appel d’une propriété/fonction avec son nom, sans connaitre le type de l’objet (pour les objets COM))
L’espace de nom Microsoft.VisualBasic donne une compatibilité par rapport à VB6. Il est à éviter si une solution plus performante existe.
L’espace “My” implémente de nombreux appels WMI ou d’IO, ainsi que plusieurs “raccourcis” dans la gestion des ressources et paramètres d’applications. (VB8+)
VB supporte la structure With
Gestion des évènements simplifiée dans les fenêtres et contrôles
On peut définir une méthode d’interface avec un nom différent que celui proposé au départ (si on veut redéfinir une fonction dans la classe avec un même nom mais une action différente)
Support du mot-clé When dans le bloc Catch (exemple : Catch ex as ComException When ex.ErrNumber = 30)
XML Litéral n’est pas implémenté en C#.
Les Custom Events ne sont pas implémentés en C#.