posted on vendredi 3 décembre 2004 19:43
par
patrice
[VB.net is not C#] Les imports (<=>using)
Les développeurs C# seront sans doute surpris mais le code suivant compile sans aucun problème sous VS.net...
Public
Class clsAList
Private m_AList As New ArrayList
Public Sub New(ByVal thearraylist As ArrayList)
m_AList = thearraylist
End Sub
End Class
Vous aurez sans doute remarqué qu'il manque normallement un Imports System.Collections nécessaire à l'utilisation de la classe ArrayList.
Cette classe est compilée sans aucun problème par VS.net alors que si vous saisissez cette classe telle quelle dans un autre IDE (#develop par exemple) ou même dans notepad et utilisez le compilateur vb.net, vous devriez avoir des ennuis...
Comment est-ce possible ? Grâce aux Imports "automatiques" fonctionnalité proposée par VS.net (et même #Develop).

Cette fonction peut paraitre séduisante au premier abord mais je vous déconseille néammoins de l'utiliser. En effet, vous l'avez peut-être déjà compris, cela nuit gravement à la portabilité de votre code source... Imaginons que vous creez une solution sous #Develop que vous ajouter la classe ci-dessus, votre application ne compilera plus, etc.. etc... Vous avez compris le problème...
En conclusion mettez explicitement tous les Imports nécessaires dans vos classes pour éviter ce genre d'ennuis...
Les développeurs C# n'auront pas ce genre d'ennuis puisque cette fonction n'est pas implémentée.