BT

Les futures fonctionnalités de VB

par Jonathan Allen , traduit par Antoine Diekmann le 30 janv. 2014 |

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.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT