BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Les futures fonctionnalités de VB

Les futures fonctionnalités de VB

Lucian Wischik a répondu à Mads Torgersen au sujet des probables changements autour du langage Visual Basic. Ce ne sont que des propositions, rien n’est encore mis en place à ce jour. Elles concernent pour la plupart, la réduction et la réutilisabilité du code et ne proposent pas de changements fondamentaux comme on a pu le voir dans Visual Basic 10 et 11.

Les propriétés en lecture seule

Les propriétés implémentées automatiquement et en lecture seule sont naturellement adaptées à la syntaxe VB. Il suffit de faire précéder le mot clé « ReadOnly » à la déclaration d’une propriété afin de restreindre son assignation au constructeur courant.


ReadOnly Property Name As String

Commentaires

Actuellement, les commentaires dans Visual Basic ne s’imbriquent pas correctement avec la continuation de ligne implicite de Visual Basic 10. Ainsi la première proposition de Lucian est d’autoriser un commentaire à la suite d’une continuation de ligne implicite.

Les chaînes de caractères

Actuellement, les chaînes de caractères dans Visual Basic ne prennent pas en compte la déclaration multi-lignes. La proposition de changement est simple, il faut que les chaînes les prennent en compte à la manière des chaînes de caractères dites Verbatim en C#, mais sans forcément nécessiter de préfixe.

Une des caractéristiques si ce n’est la plus intéressante est l’interpolation de chaîne de caractères. En utilisant le préfixe $, vous éliminez le besoin d’exprimer explicitement le format souhaité. Cette modification élimine les erreurs causées par les erreurs de comptage ou de positions des variables de substitution. Voici un exemple :


Dim query = $"http://{ url }?name={ Escape(name) }&id={ Escape(id) }&o=xml"

A ce sujet, il y a 4 ans, Miguel de Icaza a proposé une chaîne d’interpolation pour C# et construit actuellement un prototype à ce sujet.

Les formats date/heures

Les formats de date/heures dans Visual Basic sont actuellement basés sur le format US, ce qui peut être frustrant pour les développeurs non US. La proposition de changement est donc de faciliter l’accès en supportant l’ensemble des formats ISO. Les formats binaires déjà disponibles dans plusieurs langages sont également proposés. Ils devraient utiliser le préfixe &B et seraient notamment bénéfiques pour les énumérations du type bit-flag.

Modules et interfaces partielles

Peu de choses à dire ici mis à part que la proposition est simple et concerne les interfaces partielles et les modules. Il s’agit d’un travail similaire aux classes partielles qui est surtout destiné à être utilisé avec les générateurs de code.

Propagation et absence de valeur

Tout comme C#, ils envisagent d’offrir un opérateur de non propagation. Ceci éliminerait les nombreuses vérifications avant d’invoquer une méthode. Deux options sont actuellement à l’étude : la première étant la même que C#. Notez que en plus du mot clé ?. nous avons aussi ?()


Dim y As Integer = x?.y?(3)?.z

S’il y a au moins une valeur nulle à la gauche de ?. ou ?( alors y obtient la valeur par défaut de z).

Paramètres de fonctions

Comme avec C#, ils aimeraient faire fonctionner le mot clé params avec l’interface IEnumerable et non uniquement des tableaux.

De même que pour C#, ils souhaiteraient être capables de déclarer des variables locales en tant que paramètre « out ».


If Integer.TryParse(s, Out x) Then

Dans cet exemple, la variable x serait créée comme si elle avait été déclarée de manière autonome. Ils songent aussi à la déclaration de variables « inline » de la manière suivante :


If ( Dim x = GetValue()) > 15 Then Console .WriteLine(x)

Divers

Actuellement, Visual Basic respecte une approche « IsNot » pour la comparaison de références mais pas pour les comparaisons de type : (i.e. opérateur TypeOf). Ils suggèrent ici simplement de combler cette lacune.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT