Namespace
Syntaxe
Syntaxe : namespace [rec] [parent.]identifier
rec
pour récursif (slide suivante)parent
permet de regrouper des namespacesTout ce qui suit appartiendra à ce namespace
Contenu
Un namespace
F♯ ne peut contenir que des types et des modules locaux
Ne peut contenir ni valeurs ni fonctions
Par équivalence avec la compilation .NET
idem
namespace
C♯ qui ne peut contenir que des classes / enums
Quid des namespaces imbriqués ?
Se passe uniquement de manière déclarative
namespace [parent.]identifier
2 namespaces déclarés à la suite =
pas imbriquésmais indépendants
Portée
Plusieurs fichiers peuvent partager le même namespace
Dans un fichier, on peut déclarer plusieurs namespaces → Ils ne seront pas imbriqués → Peut être source de confusion ❗
Recommandations
Utiliser les namespaces dans un projet
.fsproj
(Dans un script.fsx
, cela a moins d'intérêt)Ne déclarer qu'1 seul namespace par fichier
Organiser les fichiers en les groupant dans des répertoires de même nom que le namespace
0 (racine)
/
*
1
/Niv1
*.Niv1
2
/Niv1/Niv2
*.Niv1.Niv2
🚀 Namespace récursif
Permet d'étendre la visibilité par défaut unidirectionnelle, de bas en haut, pour que des éléments les uns au-dessous des autres se voient mutuellement
☝ Recommandation : pratique mais à utiliser avec parcimonie
Dernière mise à jour
Cet article vous a-t-il été utile ?